System.Data.SQLite

Check-in [2620c61dbd]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:1.0.24.3 beta
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | sourceforge
Files: files | file ages | folders
SHA1: 2620c61dbde47ec9f37dbaf857e5be5f8ba5bb0f
User & Date: rmsimpson 2006-01-10 21:03:15.000
Context
2006-01-10
21:09
CVS codemerge 10-JAN-2006 check-in: 2f0658a242 user: rmsimpson tags: sourceforge
21:03
1.0.24.3 beta check-in: 2620c61dbd user: rmsimpson tags: sourceforge
18:41
Supports encrypted databases check-in: 0b89858658 user: rmsimpson tags: sourceforge
Changes
Unified Diff Ignore Whitespace Patch
Changes to Doc/SQLite.NET.chm.

cannot compute difference between binary files

Changes to Doc/System.Data.SQLite.XML.
914
915
916
917
918
919
920

















921
922
923
924
925
926
927
                <IsCaseSensitive>false</IsCaseSensitive>
                <IsFixedLength>true</IsFixedLength>
                <IsFixedPrecisionScale>true</IsFixedPrecisionScale>
                <IsLong>false</IsLong>
                <IsNullable>true</IsNullable>
                <IsSearchable>true</Is [rest of string was truncated]";.
             </summary>

















        </member>
        <member name="T:System.Data.SQLite.SQLiteFunctionAttribute">
            <summary>
            A simple custom attribute to enable us to easily find user-defined functions in
            the loaded assemblies and initialize them in SQLite as connections are made.
            </summary>
        </member>







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
                &lt;IsCaseSensitive&gt;false&lt;/IsCaseSensitive&gt;
                &lt;IsFixedLength&gt;true&lt;/IsFixedLength&gt;
                &lt;IsFixedPrecisionScale&gt;true&lt;/IsFixedPrecisionScale&gt;
                &lt;IsLong&gt;false&lt;/IsLong&gt;
                &lt;IsNullable&gt;true&lt;/IsNullable&gt;
                &lt;IsSearchable&gt;true&lt;/Is [rest of string was truncated]&quot;;.
             </summary>
        </member>
        <member name="P:System.Data.SQLite.SR.MetaDataCollections">
             <summary>
               Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
            &lt;DocumentElement&gt;
              &lt;MetaDataCollections&gt;
                &lt;CollectionName&gt;MetaDataCollections&lt;/CollectionName&gt;
                &lt;NumberOfRestrictions&gt;0&lt;/NumberOfRestrictions&gt;
                &lt;NumberOfIdentifierParts&gt;0&lt;/NumberOfIdentifierParts&gt;
              &lt;/MetaDataCollections&gt;
              &lt;MetaDataCollections&gt;
                &lt;CollectionName&gt;DataSourceInformation&lt;/CollectionName&gt;
                &lt;NumberOfRestrictions&gt;0&lt;/NumberOfRestrictions&gt;
                &lt;NumberOfIdentifierParts&gt;0&lt;/NumberOfIdentifierParts&gt;
              &lt;/MetaDataCollections&gt;
              &lt;MetaDataC [rest of string was truncated]&quot;;.
             </summary>
        </member>
        <member name="T:System.Data.SQLite.SQLiteFunctionAttribute">
            <summary>
            A simple custom attribute to enable us to easily find user-defined functions in
            the loaded assemblies and initialize them in SQLite as connections are made.
            </summary>
        </member>
1764
1765
1766
1767
1768
1769
1770






1771
1772
1773
1774
1775
1776
1777
            </item>
            <item>
            <description>Page Size</description>
            <description>{size in bytes}</description>
            <description>N</description>
            <description>1024</description>
            </item>






            </list>
            </remarks>
        </member>
        <member name="F:System.Data.SQLite.SQLiteConnection._connectionState">
            <summary>
            State of the current connection
            </summary>







>
>
>
>
>
>







1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
            </item>
            <item>
            <description>Page Size</description>
            <description>{size in bytes}</description>
            <description>N</description>
            <description>1024</description>
            </item>
            <item>
            <description>Password</description>
            <description>{password}</description>
            <description>N</description>
            <description></description>
            </item>
            </list>
            </remarks>
        </member>
        <member name="F:System.Data.SQLite.SQLiteConnection._connectionState">
            <summary>
            State of the current connection
            </summary>
1976
1977
1978
1979
1980
1981
1982


































1983
1984
1985
1986
1987
1988
1989
            <returns>The value corresponding to the specified key, or the default value if not found.</returns>
        </member>
        <member name="M:System.Data.SQLite.SQLiteConnection.Open">
            <summary>
            Opens the connection using the parameters found in the <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString">ConnectionString</see>
            </summary>
        </member>


































        <member name="M:System.Data.SQLite.SQLiteConnection.GetSchema">
            <overloads>
             The following commands are used to extract schema information out of the database.  Valid schema types are:
             <list type="bullet">
             <item>
             <description>MetaDataCollections</description>
             </item>







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
            <returns>The value corresponding to the specified key, or the default value if not found.</returns>
        </member>
        <member name="M:System.Data.SQLite.SQLiteConnection.Open">
            <summary>
            Opens the connection using the parameters found in the <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString">ConnectionString</see>
            </summary>
        </member>
        <member name="M:System.Data.SQLite.SQLiteConnection.ChangePassword(System.String)">
            <summary>
            Change the password (or assign a password) to an open database.
            </summary>
            <remarks>
            No readers or writers may be active for this process.  The database must already be open
            and if it already was password protected, the existing password must already have been supplied.
            </remarks>
            <param name="newPassword">The new password to assign to the database</param>
        </member>
        <member name="M:System.Data.SQLite.SQLiteConnection.ChangePassword(System.Byte[])">
            <summary>
            Change the password (or assign a password) to an open database.
            </summary>
            <remarks>
            No readers or writers may be active for this process.  The database must already be open
            and if it already was password protected, the existing password must already have been supplied.
            </remarks>
            <param name="newPassword">The new password to assign to the database</param>
        </member>
        <member name="M:System.Data.SQLite.SQLiteConnection.SetPassword(System.String)">
            <summary>
            Sets the password for a password-protected database.  A password-protected database is
            unusable for any operation until the password has been set.
            </summary>
            <param name="databasePassword">The password for the database</param>
        </member>
        <member name="M:System.Data.SQLite.SQLiteConnection.SetPassword(System.Byte[])">
            <summary>
            Sets the password for a password-protected database.  A password-protected database is
            unusable for any operation until the password has been set.
            </summary>
            <param name="databasePassword">The password for the database</param>
        </member>
        <member name="M:System.Data.SQLite.SQLiteConnection.GetSchema">
            <overloads>
             The following commands are used to extract schema information out of the database.  Valid schema types are:
             <list type="bullet">
             <item>
             <description>MetaDataCollections</description>
             </item>
2163
2164
2165
2166
2167
2168
2169





2170

2171
2172
2173
2174
2175
2176
2177
            <description>N</description>
            <description>Normal</description>
            </item>
            <item>
            <description>Page Size</description>
            <description>{size in bytes}</description>
            <description>N</description>





            <description>4096</description>

            </item>
            </list>
            </remarks>
        </member>
        <member name="P:System.Data.SQLite.SQLiteConnection.DataSource">
            <summary>
            Returns the filename without extension or path







>
>
>
>
>
|
>







2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
            <description>N</description>
            <description>Normal</description>
            </item>
            <item>
            <description>Page Size</description>
            <description>{size in bytes}</description>
            <description>N</description>
            <description>1024</description>
            </item>
            <item>
            <description>Password</description>
            <description>{password}</description>
            <description>N</description>
            <description></description>
            </item>
            </list>
            </remarks>
        </member>
        <member name="P:System.Data.SQLite.SQLiteConnection.DataSource">
            <summary>
            Returns the filename without extension or path
2843
2844
2845
2846
2847
2848
2849





2850
2851
2852
2853
2854
2855
2856
            Gets/Sets the encoding for the connection string.  The default is "False" which indicates UTF-8 encoding.
            </summary>
        </member>
        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DataSource">
            <summary>
            Gets/Sets the filename to open on the connection string.
            </summary>





        </member>
        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.PageSize">
            <summary>
            Gets/Sets the page size for the connection.
            </summary>
        </member>
        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.CacheSize">







>
>
>
>
>







2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
            Gets/Sets the encoding for the connection string.  The default is "False" which indicates UTF-8 encoding.
            </summary>
        </member>
        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DataSource">
            <summary>
            Gets/Sets the filename to open on the connection string.
            </summary>
        </member>
        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Password">
            <summary>
            Gets/sets the database encryption password
            </summary>
        </member>
        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.PageSize">
            <summary>
            Gets/Sets the page size for the connection.
            </summary>
        </member>
        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.CacheSize">
Changes to SQLite.Designer/AssemblyInfo.cs.
28
29
30
31
32
33
34
35
36
37
38
39
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Revision and Build Numbers 
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.24.2")]
[assembly: AssemblyFileVersion("1.0.24.2")]
[assembly:AssemblyDelaySignAttribute(false)]
[assembly:AssemblyKeyFileAttribute("..\\System.Data.SQLite\\System.Data.SQLite.snk")]
[assembly:AssemblyKeyNameAttribute("")]







|
|



28
29
30
31
32
33
34
35
36
37
38
39
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Revision and Build Numbers 
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.24.3")]
[assembly: AssemblyFileVersion("1.0.24.3")]
[assembly:AssemblyDelaySignAttribute(false)]
[assembly:AssemblyKeyFileAttribute("..\\System.Data.SQLite\\System.Data.SQLite.snk")]
[assembly:AssemblyKeyNameAttribute("")]
Changes to SQLite.Interop/SQLite.Interop.rc.
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84

/////////////////////////////////////////////////////////////////////////////
//
// Version
//

VS_VERSION_INFO VERSIONINFO
 FILEVERSION 1,0,24,2
 PRODUCTVERSION 1,0,0,0
 FILEFLAGSMASK 0x17L
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x2L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "Comments", "http://sourceforge.net/projects/sqlite-dotnet2"
            VALUE "FileDescription", "SQLite.NET Interop Library"
            VALUE "FileVersion", "1.0.24.2"
            VALUE "InternalName", "SQLite.Interop.DLL"
            VALUE "LegalCopyright", "Released to the public domain"
            VALUE "OriginalFilename", "SQLite3.DLL 3.2.8"
            VALUE "ProductName", "SQLite.NET"
            VALUE "ProductVersion", "1.0"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200







|

















|


|







49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84

/////////////////////////////////////////////////////////////////////////////
//
// Version
//

VS_VERSION_INFO VERSIONINFO
 FILEVERSION 1,0,24,3
 PRODUCTVERSION 1,0,0,0
 FILEFLAGSMASK 0x17L
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x2L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "Comments", "http://sourceforge.net/projects/sqlite-dotnet2"
            VALUE "FileDescription", "SQLite.NET Interop Library"
            VALUE "FileVersion", "1.0.24.3"
            VALUE "InternalName", "SQLite.Interop.DLL"
            VALUE "LegalCopyright", "Released to the public domain"
            VALUE "OriginalFilename", "SQLite3.DLL CVS HEAD"
            VALUE "ProductName", "SQLite.NET"
            VALUE "ProductVersion", "1.0"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200
Added SQLite.NET.suo.

cannot compute difference between binary files

Changes to System.Data.SQLite/AssemblyInfo.cs.
35
36
37
38
39
40
41
42
43
44
45
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Revision and Build Numbers 
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.24.2")]
#if !PLATFORM_COMPACTFRAMEWORK
[assembly: AssemblyFileVersion("1.0.24.2")]
#endif







|

|

35
36
37
38
39
40
41
42
43
44
45
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Revision and Build Numbers 
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.24.3")]
#if !PLATFORM_COMPACTFRAMEWORK
[assembly: AssemblyFileVersion("1.0.24.3")]
#endif
Changes to bin/CompactFramework/SQLite.Interop.dll.

cannot compute difference between binary files

Changes to bin/CompactFramework/System.Data.SQLite.dll.

cannot compute difference between binary files

Changes to bin/CompactFramework/testce.exe.

cannot compute difference between binary files

Changes to bin/System.Data.SQLite.dll.

cannot compute difference between binary files

Changes to bin/itanium/System.Data.SQLite.DLL.

cannot compute difference between binary files

Changes to bin/test.exe.

cannot compute difference between binary files

Changes to bin/x64/System.Data.SQLite.DLL.

cannot compute difference between binary files

Changes to readme.htm.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title></title>
  </head>
  <body>
    ADO.NET 2.0 SQLite Data Provider<br>
    Version 1.0.24.2 - Dec 30, 2005<br>
    Interop using SQLite 3.2.8<br>
    Written by Robert Simpson (<a href="mailto:robert@blackcastlesoft.com">robert@blackcastlesoft.com</a>)<br>
    Released to the public domain, use at your own risk!<br>
    <br>
    The latest version can be downloaded <a href="http://sourceforge.net/projects/sqlite-dotnet2">
      here</a>
    <br>
    <br>







|
|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title></title>
  </head>
  <body>
    ADO.NET 2.0 SQLite Data Provider<br>
    Version 1.0.24.3 (beta) - Jan 10, 2006<br>
    Interop using SQLite CVS HEAD (beta)<br>
    Written by Robert Simpson (<a href="mailto:robert@blackcastlesoft.com">robert@blackcastlesoft.com</a>)<br>
    Released to the public domain, use at your own risk!<br>
    <br>
    The latest version can be downloaded <a href="http://sourceforge.net/projects/sqlite-dotnet2">
      here</a>
    <br>
    <br>
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123








124
125
126
127

128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145

146
147


148



149
150
151
152
153
154
155
156
157
158
159
    <p>
      Just change the target platform from Win32 to Compact Framework and 
      recompile.&nbsp; <STRONG>The Compact Framework has no support for enumerating 
        attributes in an assembly, therefore all user-defined collating sequences and 
        functions must be explicitly registered.</STRONG>&nbsp; See the <STRONG>testce</STRONG>
      sample application for an example of how to explicitly register user-defined 
      collating sequences and functions.</p>
    <P>Many thanks to the fine folks at <A href="http://sourceforge.net/projects/sqlite-wince">
        http://sourceforge.net/projects/sqlite-wince</A> for the Windows CE code!</P>
    <h2>
      <b><A name="redist"></A>Distributing The SQLite Engine and ADO.NET Assembly</b></h2>
    <P>For Win32 platforms, only the <STRONG>System.Data.SQLite.DLL</STRONG> file in 
      the <STRONG>bin</STRONG> folder should be distributed with your 
      application(s).&nbsp; This DLL contains both the managed wrapper and the native 
      SQLite3 codebase.</P>
    <P>For Compact Framework platforms, your application should reference the <STRONG>System.Data.SQLite.DLL</STRONG>
      file in the <STRONG>bin\CompactFramework</STRONG> folder.&nbsp; The <STRONG>System.Data.SQLite.DLL</STRONG>
      and <STRONG>SQLite.Interop.DLL</STRONG> files from the <STRONG>bin\CompactFramework</STRONG>
      folder must be distributed with your application(s).&nbsp; They contain the 
      managed wrapper and the native SQLite3 codebase respectively.&nbsp; The Compact 
      Framework does not currently support managed C++, thus the reason for two 
      files.</P>
    <H2><B>Development Notes Regarding the SQLite 3 Source Code</B></H2>








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

    <ol>
      <li>
        Download the latest sqlite3 source from <a href="http://www.sqlite.org/download.html">
          http://www.sqlite.org/download.html</a>
        
      <li>
        Extract the source code to the <b>SQLite.Interop\src</b> directory 
          of this project 
      <li>
        Open the <b>src\select.c</b> file. 
      <li>
        Add <b>#include "../interop.h" </b>to the top of the file 
          where the other include's are. 
      <li>
        Scroll down the <b>select.c</b> file to around line <b>822</b>.&nbsp; 
          Change the name of the function <b>static void generateColumnNames </b>to <b>static 
            void _generateColumnNames</b> (<i>note the underscore in front of the name</i>).
        

      <li>
        Compile it. 


      </li>



    </ol>
    <b></b>
    <h2>
      <b>Version History</b></h2>
    <p><b>1.0.24.2 - December 30, 2005</b></p>
    <ul>
    <li>Fixed the SQLiteDataReader.HasRows property to return the proper value.</li>
      <li>Implemented the inadvertently neglected RecordsAffected property on SQLiteDataReader.
      </li>
      <li>SQLiteFunction static constructor was changed to pre-filter classes with only the
        SQLiteFunctionAttribute.&nbsp; The code was throwing an exception when certain







<
<














>
>
>
>
>
>
>
>


<
|
>
|
<
<
|
|
<
<
<
<
<
<
|
|
|
|
|
|
|
>
|
<
>
>
|
>
>
>
|
<
<
<







101
102
103
104
105
106
107


108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131

132
133
134


135
136






137
138
139
140
141
142
143
144
145

146
147
148
149
150
151
152



153
154
155
156
157
158
159
    <p>
      Just change the target platform from Win32 to Compact Framework and 
      recompile.&nbsp; <STRONG>The Compact Framework has no support for enumerating 
        attributes in an assembly, therefore all user-defined collating sequences and 
        functions must be explicitly registered.</STRONG>&nbsp; See the <STRONG>testce</STRONG>
      sample application for an example of how to explicitly register user-defined 
      collating sequences and functions.</p>


    <h2>
      <b><A name="redist"></A>Distributing The SQLite Engine and ADO.NET Assembly</b></h2>
    <P>For Win32 platforms, only the <STRONG>System.Data.SQLite.DLL</STRONG> file in 
      the <STRONG>bin</STRONG> folder should be distributed with your 
      application(s).&nbsp; This DLL contains both the managed wrapper and the native 
      SQLite3 codebase.</P>
    <P>For Compact Framework platforms, your application should reference the <STRONG>System.Data.SQLite.DLL</STRONG>
      file in the <STRONG>bin\CompactFramework</STRONG> folder.&nbsp; The <STRONG>System.Data.SQLite.DLL</STRONG>
      and <STRONG>SQLite.Interop.DLL</STRONG> files from the <STRONG>bin\CompactFramework</STRONG>
      folder must be distributed with your application(s).&nbsp; They contain the 
      managed wrapper and the native SQLite3 codebase respectively.&nbsp; The Compact 
      Framework does not currently support managed C++, thus the reason for two 
      files.</P>
    <H2><B>Development Notes Regarding the SQLite 3 Source Code</B></H2>
    <p>
      The SQLite3 source code is compiled almost directly from the SQLite.org release
      sources.&nbsp; All builds of sqlite after 3.2.8 have included support for Windows
      CE (without file locking), but the ADO.NET sources here contain CE locking modifications
      to the os_win.c.&nbsp; I hope eventually the locking code will be incorporated into
      the root sqlite codebase.&nbsp; Additionally, two minor modifications are made to
      the sources, those modifications are made automatically by the fixsource.vbs file
      when the VS2005 solution is compiled.</p>
    <p></p>
    <p>

      <b>Version History</b></p>
    <p><b>1.0.24.3 beta - January 10, 2006</b></p>
    <ul>


    <li>This beta is built from sqlite.org's CVS HEAD (as it appeared at of the date of
      this beta) and contains development-in-progress code.&nbsp; Therefore no guarantees






      can be made regarding its suitability for production use.</li><li>Added support for database encryption at the pager level.&nbsp; Databases
    are encrypted using a 128-bit RC4 stream algorithm.&nbsp; To open an existing encrypted
    database, you may now specify a "Password={password}" text in the ConnectionString,
    or you may call the SQLiteConnection.SetPassword() function to set the password
    on an open connection. &nbsp;To encrypt existing non-encrypted databases or to change
    the password on an encrypted database, you must use the SQLiteConnection.ChangePassword()
    function.&nbsp; If you use SetPassword() instead of specifying a password in the
    connection string, or call ChangePassword() you may use a binary byte array or a
    text string as the password.</li>

      <li>Rewrote the locking implementation for the Compact Framework.&nbsp; It is now
        more robust and incorporates into the SQLite codebase more efficiently than the
        previous CE adaptation.</li>
      <li>Moved some of the embedded schema XML data into a resource file to ease code readability.</li>
      <li>Automated the fixup of the original sqlite codebase's source prior to compiling,
        to ease merging with sqlite.org's source.&nbsp;</li>
    </ul>



    <p><b>1.0.24.2 - December 30, 2005</b></p>
    <ul>
    <li>Fixed the SQLiteDataReader.HasRows property to return the proper value.</li>
      <li>Implemented the inadvertently neglected RecordsAffected property on SQLiteDataReader.
      </li>
      <li>SQLiteFunction static constructor was changed to pre-filter classes with only the
        SQLiteFunctionAttribute.&nbsp; The code was throwing an exception when certain