My favorites | Sign in
Logo
             
Search
for
Updated Aug 24, 2009 by noah.hart
Labels: Featured, Phase-Support
FrequentlyAskedQuestions  
Frequently Asked Questions

Q: What is C#-SQLite?

A: C#-SQLite is an independent reimplementation of the SQLite software library

Q: What is SQLite anyway?

A: http://sqlite.org SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.

Please visit the definitive website sqlite.org for details.

Q: What version of SQLite is this?

A: 3.6.17

Q: How fast is this compared to the regular SQLite?

A: See Benchmarks for current performance details

Q: I get lots of compile errors what am I doing wrong"

A: See HowToCompile for details

Q: What is the difference of this to other wrappers, such as SQLite ADO.NET?

A: This is not a driver, dll, or wrapper. This is a port of the underlying SQLite software.

Q: Does this create a dll?

A: The initial release of this port is intended to be included in a project and compiled into an executable file. However instructions of compiling into a dll are found at DllCompilingInstructions

Q: Doesn't that create maintenance issues?

A: Yes, the solution to that is left an an exercise for the developer

Q: Since SQLite has a windows dll and an executable you can download why port to C#?

A: It was an exercise to learn the C# language

Q: Should I report bugs to the SQLite developers?

A: No, use the issues tab and report them here. The developers bear no responsibility for the flaws in the port

Q: Is this ready for prime time?

A: Don't know -- let me know what you think


Comment by torque, Aug 06, 2009

Is this useable on Silverlight?

Comment by gurufaction, Aug 06, 2009

Q: How long did it take to port SQLite? Q: How many people were involved in porting SQLite? Q: What did you learn about C# as a result of this project?

Comment by uriel.katz, Aug 06, 2009

Q:did you use some kind of automatic(or semi-automatic) tool for convertaion?

Comment by noah.hart, Aug 06, 2009

@Torque: There are 10 DLLImports that need to be converted, then it will be useable on Silverlight I've added Issues 9-11 for them

@gurufaction: About a year part time as a hobby; One person;

  • C and C# are not really that different
  • C# does not handle casting memory allocation into objects
  • C# does not address Pointers into byte arrays very well
  • C# does not do type casting in calls
  • C# does not support C type compiler MACROS and #DEFINES
  • C# #DEFINES do not flow between source files

@uriel.katz: I created Visual Studio Macros to automate a number of changes, like

CC#
->.
&ref
assertDebug.Assert
==0==null
#ifdef#if
#ifndef#if !

The remainder was code inspection, since I really wanted to learn what SQLite was doing

Comment by adamklobukowski, Aug 06, 2009

Is the binary format of C#-SQLite compatibile with SQLite?

Comment by andreas_...@hotmail.com, Aug 07, 2009

Is C#-SQLite compatible with NHibernate 2.1?

Comment by noah.hart, Aug 07, 2009

@adamklobukowski: If you are asking if the files structure is the same, the answer is yes.

Comment by noah.hart, Aug 07, 2009

@andreas: No Idea, let me know what you find out

Comment by unruledboy, Aug 09, 2009

how about adding ExecuteScalar? to SQLiteDatabase.cs ?

Comment by timothy.anderson, Aug 10, 2009

@torque @noah.hart it is not only the DLL imports that prevent running on Silverlight. Other issues are file locking (not present in Silverlight), replacing file I/O with Isolated Storage, and working round framework calls that are not present or not accessible (for security reasons) in Silverlight's version of the .NET Framework.

I did a hack for proof of concept here:

http://www.itwriting.com/blog/1695-proof-of-concept-c-sqlite-running-in-silverlight.html

Tim

Comment by noah.hart, Aug 10, 2009

@unruledboy; As of Aug 10; ExecuteNonQuery? has been added to SQLiteDatabase

Comment by subm...@gmail.com, Aug 11, 2009

I suggest not to add ADO.NET interface directly in this project. It's much better to talk with System.Data.Sqlite developers or create a support for managed SQLite in their library. Otherwise you will have only weak emulator of ADO.

Comment by enzinol, Aug 27, 2009

How can I contribute to the project?

Comment by noah.hart, Aug 29, 2009

@enzinol -- start by joining the google group and discussing what you would like to contribute

Comment by unruledboy, Sep 01, 2009

@noah.hart

I mean ExecuteScalar?, not ExecuteNonQuery?

Comment by bar...@rjlsystems.com, Oct 02, 2009

FYI: FAQ entry on compiling a DLL references wiki page DllCompilingInstructions? which does not exist.

Comment by unruledboy, Dec 01, 2009

please provide prebuild dll, so that we don't have to install hg clients


Sign in to add a comment
Hosted by Google Code