Index: SQLite.NET.sln ================================================================== --- SQLite.NET.sln +++ SQLite.NET.sln @@ -10,17 +10,20 @@ ProjectSection(ProjectDependencies) = postProject {10B51CE8-A838-44DE-BD82-B658F0296F80} = {10B51CE8-A838-44DE-BD82-B658F0296F80} EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{39A3B743-1EBD-4CC0-8E37-ACE3DD38B1C0}" - ProjectSection(SolutionItems) = postProject + ProjectSection(SolutionItems) = preProject readme.htm = readme.htm EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SQLite.Interop", "SQLite.Interop\SQLite.Interop.vcproj", "{10B51CE8-A838-44DE-BD82-B658F0296F80}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "testce", "testce\testce.csproj", "{B86CE504-C4E4-496F-A0F0-E613BCFD3DF7}" + ProjectSection(ProjectDependencies) = postProject + {AC139951-261A-4463-B6FA-AEBC25283A66} = {AC139951-261A-4463-B6FA-AEBC25283A66} + EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLite.Designer", "SQLite.Designer\SQLite.Designer.csproj", "{9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Index: bin/CompactFramework/SQLite.Interop.dll ================================================================== --- bin/CompactFramework/SQLite.Interop.dll +++ bin/CompactFramework/SQLite.Interop.dll cannot compute difference between binary files Index: bin/CompactFramework/System.Data.SQLite.dll ================================================================== --- bin/CompactFramework/System.Data.SQLite.dll +++ bin/CompactFramework/System.Data.SQLite.dll cannot compute difference between binary files Index: bin/CompactFramework/testce.exe ================================================================== --- bin/CompactFramework/testce.exe +++ bin/CompactFramework/testce.exe cannot compute difference between binary files Index: bin/Designer/Install.cmd ================================================================== --- bin/Designer/Install.cmd +++ bin/Designer/Install.cmd @@ -22,13 +22,15 @@ :Main ECHO Installing DDEX Data Provider for SQLite ECHO VS Registry Root: %REGROOT% ECHO XML File Path: %XMLPATH% +ECHO SQLite.DLL Path: %MYDIR%..\ IF NOT EXIST "%XMLPATH%\SQLiteDataViewSupport.xml" ECHO The data view support XML file was not found.& GOTO End IF NOT EXIST "%XMLPATH%\SQLiteDataObjectSupport.xml" ECHO The data object support XML file was not found.& GOTO End +IF NOT EXIST "..\System.Data.SQLite.DLL" ECHO The ..\System.Data.SQLite.DLL could not be found.& GOTO End CScript "%MYDIR%\Install.vbs" //NoLogo "%REGROOT%" "%XMLPATH%" GOTO End Index: bin/Designer/SQLite.Designer.dll ================================================================== --- bin/Designer/SQLite.Designer.dll +++ bin/Designer/SQLite.Designer.dll cannot compute difference between binary files Index: bin/System.Data.SQLite.dll ================================================================== --- bin/System.Data.SQLite.dll +++ bin/System.Data.SQLite.dll cannot compute difference between binary files Index: bin/itanium/System.Data.SQLite.DLL ================================================================== --- bin/itanium/System.Data.SQLite.DLL +++ bin/itanium/System.Data.SQLite.DLL cannot compute difference between binary files Index: bin/test.exe ================================================================== --- bin/test.exe +++ bin/test.exe cannot compute difference between binary files Index: bin/test.exe.config ================================================================== --- bin/test.exe.config +++ bin/test.exe.config @@ -1,7 +1,8 @@ + Index: bin/x64/System.Data.SQLite.DLL ================================================================== --- bin/x64/System.Data.SQLite.DLL +++ bin/x64/System.Data.SQLite.DLL cannot compute difference between binary files Index: readme.htm ================================================================== --- readme.htm +++ readme.htm @@ -3,19 +3,15 @@ ADO.NET 2.0 SQLite Data Provider
- Version 1.0.20 - Oct 19, 2005
+ Version 1.0.21- Nov 4, 2005
Interop using SQLite 3.2.7
Written by Robert Simpson (robert@blackcastlesoft.com)
Released to the public domain, use at your own risk!

- This provider was written and tested using the Visual Studio 2005 Team System - Release Candidate
- VS2005 Beta 2 users should continue using the 1.0.18.1 release.
-
The latest version can be downloaded here

@@ -78,47 +74,30 @@

Design-Time Support (new as of 1.0.14)

-

Until an installer is created, the steps for registering the provider for - design-time support are:

-
    -
  1. - Register the System.Data.SQLite.DLL in the Global Assembly - Cache either by using the .Net 2.0 version of GACUTIL, or through Administrative - Tools -> Microsoft .NET Framework 2.0 Configuration. -
  2. - Through a command-prompt or Windows Explorer, navigate to the SQLite.NET\bin\Designer +

    Until an installer is created, through a command-prompt or Windows Explorer, navigate to the SQLite.NET\bin\Designer folder and execute the INSTALL.CMD - file. -

  3. - NOTE:  Enabling Design-Time support for SQLite causes the SQLite - Provider to be registered in your machine.config.   If you - have already added the XML shown below to your app.config in - your applications, you need to remove it.  If you - don't, it will cause a unique constraint violation when you run your program. -
  4. - Delete the test.exe.config file from the SQLite.NET\bin - folder -- it is no longer necessary.
+ file.  The script and + batch file will register the System.Data.SQLite DLL in the Global Assembly Cache, + and modify the machine.config file to add SQLite to the list of default data providers.

DbFactory Support (Non-Compact Framework)

In order to use the SQLiteFactory and have the SQLite data provider enumerated - in the DbProviderFactories methods, you must add the following segment into - either your application's app.config or the system's machine.config located in - the %SystemRoot%\Microsoft.Net\Framework\v2.xxxx\Config folder:
+ in the DbProviderFactories methods, you must add the following segment into your application's app.config file:

<configuration>
   <system.data>
     <DbProviderFactories>
-      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite"
type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.19.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" /> + <remove invariant="System.Data.SQLite"/> + <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite"
type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /> </DbProviderFactories> </system.data> </configuration>
-

If you choose to install the Visual Studio Design-Time support for SQLite, you - must not add the above XML to your app.config.  The installer will have - already added it to your machine's machine.config file.

+

See the help documentation for further details on implementing both version-specific (GAC enabled) and version independent DBProviderFactories support. +

Compiling for the Compact Framework

Just change the target platform from Win32 to Compact Framework and recompile.  The Compact Framework has no support for enumerating @@ -142,48 +121,52 @@ Framework does not currently support managed C++, thus the reason for two files.

Development Notes Regarding the SQLite 3 Source Code

- Steps for merging the sqlite3 core codebase:

-

- This section is obsolete, but remains for historical purposes.  The - 1.0.11+ versions of the ADO.NET 2.0 SQLite provider make significant changes to - the core sqlite3 codebase in order to support C++ /clr compiling.  - Specifically, all the implicit casts throughout the core codebase must be - modified.  There are several hundred of these casts and they must be fixed - up every time a new sqlite version is released.

+ Steps for merging the sqlite3 core codebase (without Compact Framework support -- + that's another story):

  1. - Download the latest sqlite3 source from - http://www.sqlite.org/download.html - -
  2. - Extract the source code to the SQLite.Interop\src directory - of this project -
  3. - Open the src\select.c file. -
  4. - Add #include "../interop.h" to the top of the file - where the other include's are. -
  5. - Scroll down the select.c file to around line 748.  + Download the latest sqlite3 source from + http://www.sqlite.org/download.html + +
  6. + Extract the source code to the SQLite.Interop\src directory + of this project +
  7. + Open the src\select.c file. +
  8. + Add #include "../interop.h" to the top of the file + where the other include's are. +
  9. + Scroll down the select.c file to around line 822.  Change the name of the function static void generateColumnNames to static void _generateColumnNames (note the underscore in front of the name). - +
  10. - Compile it. + Compile it.

Version History

+

1.0.21 - November 4, 2005

+

1.0.20 - October 19, 2005

+ Fixed a shortcut in SQLiteBase.GetValue which was insufficient for + international environments.  The shortcut was removed and the "proper" + procedure put in.

1.0.19 - October 5, 2005