Академический Документы
Профессиональный Документы
Культура Документы
NET Provider
SQLite.NET Class Library Documentation
About SQLite.NET
This class library is an ADO.NET wrapper around the popular (and free!) SQLite database engine. For
information on SQL syntax, features of SQLite and a good understanding of how it works and what it
does, I highly recommend heading over to sqlite.org and reading the documentation there.
The C# provider, the very minor C code modifications to SQLite, documentation and etc were written by
Robert Simpson, and the SourceForge project page can be found here.
The System.Data.SQLite project is currently maintained by the SQLite Development Team and the latest
source code and project information can be found here.
What's New?
Click here to see the version history of this SQLite.NET provider
Using this library
The following are links to information on various aspects of the library and how to use it in your
application(s)
How to install Visual Studio Design-Time Support
How to configure and enumerate SQLite.NET through the DbProviderFactories object
Getting the best performance out of SQLite
Limitations of the SQLite.NET provider and the SQLite engine (compared to other providers and engines)
SQLite.NET Provider Features
This SQLite provider implements every feature of the underlying SQLite database engine without
omission. Here's a brief summary:
Written from scratch on Visual Studio 2008 specifically for ADO.NET, implenting all the base
classes and features recently introduced in the framework, including automatic transaction
enlistment.
Supports the Full and Compact .NET Framework, as well as native C/C++ development. 100%
binary compatible with the original sqlite3.dll.
Full support for Mono via a "managed only" provider that runs against the official SQLite 3.6.1 or
higher library.
Full Entity Framework support (ADO.NET 3.5 SP1)
On the Compact Framework, it is faster than Sql Server Mobile. SQLite's installed size is a
fraction of Sql Mobile's. It uses less memory at runtime, runs queries faster, and has a smaller
database file size as well.
Encrypted database support. Encrypted databases are fully encrypted and support both binary
and cleartext password types.
Visual Studio 2005/2008/2010/2012/2013/2015 Design-Time Support. You can add a SQLite
database to the Servers list, design queries with the Query Designer, drag-and-drop tables onto a
Typed DataSet, etc.
Full SQLite schema editing inside Visual Studio. You can create/edit tables, views, triggers,
indexes, check constraints and foreign keys.
Available as a single file redistributable (except Compact Framework). The core sqlite3 codebase
and the ADO.NET wrapper are combined into one multi-module assembly.
Also available as separate native and managed assemblies and optionally with the Visual C++
Runtime statically linked.
Binaries included for Itanium, x64, x86 and ARM processors.
Itanium processor support not currently included.
DbProviderFactory support.
Full support for ATTACH'ed databases. Exposed as Catalogs in the schema. When cloning a
connection, all attached databases are automatically re-attached to the new connection.
DbConnection.GetSchema(...) support includes the MetaDataCollections, DataSourceInformation,
Columns, Tables, Views, ViewColumns, Catalogs, Indexes, IndexColumns, ForeignKeys and
Triggers.
Enhanced DbDataReader.GetSchemaTable() functionality returns catalog, namespace and detailed
schema information even for complex queries.
Named and unnamed parameters.
Full UTF-8 and UTF-16 support, each with optimized pipelines into the native database core.
Multiple simultaneous DataReaders (one DataReader per Command however).
Full support for user-defined scalar and aggregate functions, encapsulated into an easy-to-use
base class in which only a couple of overrides are necessary to implement new SQL functions.
Full support for user-defined collating sequences, every bit as simple to implement as user-
defined functions and uses the same base class.
Full source for the entire engine and wrapper. No copyrights. Public Domain. 100% free for
commercial and non-commercial use.
Distributing the Binaries (Desktop)
When using the mixed-mode assembly, the System.Data.SQLite.DLL file includes all the native and
managed code. In that case, this is the only DLL required to be redistributed with your SQLite.NET
application(s). When using separate native and managed assemblies, the System.Data.SQLite.DLL file
contains all the managed code and the SQLite.Interop.DLL file contains all the native code. The native
code comes in 3 flavors: Win32, Itanium and x64 (AMD64).
Itanium processor support not currently included.
Distributing the Binaries (Compact Framework)
Both the System.Data.SQLite.DLL and SQLite.Interop.XXX.DLL files must be deployed on the
Compact Framework. The XXX is the build number of the System.Data.SQLite library (e.g. "104"). The
SQLite.Interop.XXX.DLL file is a fully native assembly compiled for the ARM processor, and
System.Data.SQLite is the fully-managed Compact Framework assembly.
Installation Instructions
Download and run one of the setup packages and then select the "Install the designer components
for Visual Studio 20XX." option when prompted.
Scenario 1: Version Independent (does not use the Global Assembly Cache)
This method allows you to drop any new version of the System.Data.SQLite.DLL into your application's
folder and use it without any code modifications or recompiling. Add the following code to your
app.config file:
<configuration>
<system.data>
<DbProviderFactories>
<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>
Scenario 2: Version Dependent, using either the DLL located in the same folder as the
application or the Global Assembly Cache
This method expands on the above XML to provide the version number and key token of the SQLite DLL
so it can be found either in the same folder as the application or looked up in the GAC. The downside to
this method is that DbProviderFactories will use this version information to only load the version
specified. This means if you update the DLL, you must also update this XML.
<configuration>
<system.data>
<DbProviderFactories>
<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,
Version=1.0.104.0, Culture=neutral,
PublicKeyToken=db937bc2d44ff139"/>
</DbProviderFactories>
</system.data>
</configuration>
The following special replacement tokens may be recognized and replaced with their associated
runtime value, depending on context, when setting values are being read by the native library pre-loading
subsystem. Unless otherwise stated explicitly, all of these tokens are case-sensitive and the percent
characters must be included in order for them to be recognized.
Name Description
%PreLoadSQLite_AssemblyDirectory% If this token (which is case-sensitive and must include the
percent characters) is present within a setting value being
returned, it will be replaced with the qualified name of the
directory containing the System.Data.SQLite assembly. If the
name of the directory is not available, the token will not be
replaced.
%PreLoadSQLite_TargetFramework% If this token (which is case-sensitive and must include the
percent characters) is present within a setting value being
returned, it will be replaced with an abbreviation of the target
framework attribute value for the System.Data.SQLite
assembly. If the target framework attribute value is not
available, the token will not be replaced.
%PreLoadSQLite_XmlConfigDirectory% If this token (which is case-sensitive and must include the
percent characters) is present within a setting value being
returned, it will be replaced with the qualified name of the
directory containing the XML configuration file. If the name of
the directory is not available, the token will not be replaced.
Generally, this token may only be used within the XML
configuration file itself.
These environment variables are used to control several features of the System.Data.SQLite library. All of
these environment variables are optional. If a particular environment variable is not present, the XML
configuration file "System.Data.SQLite.dll.config" in the directory containing the currently executing
assembly (i.e. the one containing all the managed components for System.Data.SQLite) will also be
consulted. If present, the XML configuration file should be structured as follows:
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="A_Setting" value="String Value" />
<add key="Another_Setting" value="%ENV_VALUE%" />
</appSettings>
</configuration>
All references to existing environment variables will be expanded to their corresponding values within the
returned settings values unless either the "No_Expand" or "No_Expand_<name>" environment variable
is set [to anything].
None of these environment variables are supported by the Compact Framework builds of
System.Data.SQLite, due to limitations imposed by the platform itself; however, the XML configuration
file mentioned above may be used instead.
Name Description
AppendManifestToken_SQLiteProviderManifest If this environment variable is set [to anything], it will be
used by the
System.Data.SQLite.Linq.SQLiteProviderManifest class
(and the
System.Data.SQLite.EF6.SQLiteProviderManifest class)
to modify future provider manifest tokens by appending
the value of the environment variable to the existing
provider manifest token, if any. Typically, in order for the
constructed provider manifest token to be syntactically
correct, the environment variable value [to be
appended] must begin with a semicolon.
DefaultFlags_SQLiteConnection If this environment variable is set [to anything], it will be
used by the System.Data.SQLite.SQLiteConnection class
as the default flags for all opened connections (i.e. when
they are not present in the connection string).
Force_SQLiteLog If this environment variable is set [to anything], the
SQLite logging subsystem may be initialized in a non-
default application domain. By default, this is not allowed
due to the potential for application domain unloading
issues.
No_PreLoadSQLite If this environment variable is set [to anything], the
native library pre-loading code will be disabled. By
default, the native library pre-loading code will attempt
to load the native SQLite library from architecture-
specific (e.g. "x86", "amd64", "x64") or platform-
specific (e.g. "Win32") directories that reside
underneath the application base directory.
No_SQLiteConnectionNewParser If this environment variable is set [to anything], the new
connection string parsing algorithm will not be used. This
environment variable is intended for use with legacy
code only.
No_SQLiteFunctions If this environment variable is set [to anything], the
initial search for types in all loaded assemblies that are
tagged with the SQLiteFunction attribute will be skipped.
Normally, this search is conducted only once per
application domain by the static constructor of the
SQLiteFunction class; however, these implementation
details are subject to change.
No_SQLiteGetSettingValue If this environment variable is set [to anything], all calls
to the GetSettingValue method will return the default
value. This will effectively prevent all other setting values
from having any effect, including those specified via
other supported environment variables or in the
associated XML configuration file.
No_SQLiteXmlConfigFile If this environment variable is set [to anything], calls to
the GetSettingValue method will never result in the XML
configuration file being read; instead, the default value
will be returned. This will effectively prevent any setting
values specified via the XML configuration file from
having any effect.
PreLoadSQLite_BaseDirectory If this environment variable is set [to anything], it will be
used instead of the application base directory by the
native library pre-loader. This environment variable can
be especially useful in ASP.NET and other hosted
environments where direct control of the location of the
managed assemblies is not under the control of the
application.
PreLoadSQLite_LibraryFileNameOnly If this environment variable is set [to anything], it will be
used as the base file name (without directory
information) for the native SQLite library to be pre-
loaded (e.g. "sqlite3.dll" or "libsqlite3.so.0").
PreLoadSQLite_ProcessorArchitecture If this environment variable is set [to anything], it will be
used instead of the processor architecture value
contained in the PROCESSOR_ARCHITECTURE
environment variable to help build the path of the native
library to pre-load.
PreLoadSQLite_NoSearchForDirectory If this environment variable is set [to anything], the
native library pre-loading code will skip conducting a
search for the native library to pre-load. By default, the
search starts in the location of the currently executing
assembly (i.e. the assembly containing all the managed
components for System.Data.SQLite) and then falls
back to the application domain base directory.
PreLoadSQLite_UseAssemblyDirectory If this environment variable is set [to anything], the
location of the currently executing assembly (i.e. the
one containing all the managed components for
System.Data.SQLite) will be used as the basis for
locating the the native library to pre-load (i.e. instead of
using the application domain base directory).
PROCESSOR_ARCHITECTURE This environment variable is normally set by the
operating system itself and should reflect the native
processor architecture of the current process (e.g. a
32-bit x86 application running on a 64-bit x64 operating
system should have the value "x86").
SQLite_ForceLogPrepare If this environment variable is set [to anything], all calls
to prepare a SQL query will be logged, regardless of the
flags for the associated connection.
TypeName_SQLiteProviderServices If this environment variable is set [to anything], it will be
used by the System.Data.SQLite.SQLiteFactory class as
the type name containing the
System.Data.Common.DbProviderServices
implementation that should be used.
Use_SQLiteConvert_DefaultDbType If this environment variable is set [to anything], it will be
used by the System.Data.SQLite.SQLiteConvert class as
the default DbType value that should be used when a
per-connection value is not available.
Use_SQLiteConvert_DefaultTypeName If this environment variable is set [to anything], it will be
used by the System.Data.SQLite.SQLiteConvert class as
the default type name that should be used when a per-
connection value is not available.
Prepared Statements
Lets have a quick look at the following code and evaluate its performance:
using (SQLiteCommand mycommand = new SQLiteCommand(myconnection))
{
int n;
This code seems pretty tight, but if you think it performs well, you're dead wrong. Here's what's wrong
with it:
I didn't start a transaction first! This insert is dog slow!
The CLR is calling "new" implicitly 100,000 times because I am formatting a string in the loop for
every insert
Since SQLite precompiles SQL statements, the engine is constructing and deconstructing 100,000
SQL statements and allocating/deallocating their memory
All this construction and destruction is involving about 300,000 more native to managed interop
calls than an optimized insert
So lets rewrite that code slightly:
using (SQLiteTransaction mytransaction = myconnection.BeginTransaction())
{
using (SQLiteCommand mycommand = new SQLiteCommand(myconnection))
{
SQLiteParameter myparam = new SQLiteParameter();
int n;
Now this is a blazing fast insert for any database engine, not just SQLite. The SQL statement is prepared
one time -- on the first call to ExecuteNonQuery(). Once prepared, it never needs re-evaluating.
Furthermore, we're allocating no memory in the loop and doing a very minimal number of interop
transitions. Surround the entire thing with a transaction, and the performance of this insert is so far and
away faster than the original that it merits a hands-on-the-hips pirate-like laugh.
Every database engine worth its salt utilizes prepared statements. If you're not coding for this, you're
not writing optimized SQL, and that's the bottom line.
Thread Safety
Multi-threading in SQLite must be done carefully. Here are the restrictions:
You May Clone() a SQLiteConnection object in one thread and pass the cloned object to another
thread. Once passed, the other thread becomes the new owner of the cloned connection, and
the original thread must not keep a reference to the clone or call any methods on the clone.
You May create multiple threads, and those threads can create their own SQLiteConnection and
subsequent objects for accessing a database. Multiple connections on multiple threads to the
same database file are perfectly acceptable and will behave predictably.
You May NOT call methods or properties or otherwise reference any SQLite provider classes
that belong to another thread.
You May NOT pass a SQLiteCommand, SQLiteDataReader, SQLiteDataAdapter or any other
SQLite provider class except a cloned SQLiteConnection to another thread.
Understand again that SQLite has no fine-grained locking mechanisms. It is therefore your own
responsibility in a multi-threaded environment to handle potential timeouts that may occur if a long-
running query in one thread prevents a query in another thread from executing. These timeouts will only
occur if one thread is attempting to read while another thread is attempting to write. Whichever thread
got its lock first will be the one to execute, and the other thread will block until the CommandTimeout
value elapses or the other thread finishes.
TYPES
TYPES
Use the TYPES keyword before a SELECT statement to provide the SQLite ADO.NET provider a list of
return datatypes to expect from the subsequent SELECT statement.
This is a language extension (aka hack) to SQLite specifically for the ADO.NET data provider. It is a
pseudo-statement, meaning only the ADO.NET provider understands it.
Background
Due to SQLite's typeless nature, there are certain kinds of queries for which the ADO.NET provider
cannot determine the proper return data type. Scalar and aggregate functions pose a particular problem
because there is no requirement for a given scalar or aggregate function to return any particular
datatype. As a matter of fact, scalar functions could theoretically return a different datatype for every
row or column in a query and this is perfectly legal from SQLite's point of view.
Since ADO.NET is designed around a typed system and we're shoe-horning SQLite into it, this keyword
helps the provider out in cases where the return type cannot be easily determined.
This command must be used in conjunction with a SELECT statement. It only works when both the
TYPES keyword and its value(s) are passed along with a SELECT statement as a single semi-colon
separated unit.
Examples
TYPES [bigint], [int], [smallint], [tinyint];
SELECT 1, 2, 3, 4;
The above query would return the columns as types System.Int64, System.Int32, System.Int16 and
System.Byte respectively.
TYPES [bigint], [int], , [tinyint];
SELECT 1, 2, 3, 4;
In this sample, only columns 1, 2 and 4 would have explicit typing. Column 3's datatype would pass
though the system and be discovered normally.
TYPES real;
SELECT SUM(Cost) FROM [Products];
The above query explicitly tells the provider that the SUM aggregate function returns a System.Double.
Usage Notes
You cannot use parameters in the TYPES statement.
The TYPES statement must be immediately followed by a SELECT statement.
It is legal to pass multiple TYPES and SELECT statements in a multi-statement command.
You may enclose datatypes in quotes "" or brackets [] or those `` thingies if you want.
Version History
SQLite.NET Class Library Documentation
Version History
1.0.104.0 - December 16, 2016
Updated to SQLite 3.15.2.
Add the "%PreLoadSQLite_AssemblyDirectory%", "%PreLoadSQLite_TargetFramework%", and
"%PreLoadSQLite_XmlConfigDirectory%" replacement tokens for use in configuration setting
values. Pursuant to [d4728aecb7].
Prevent the GetByte, GetChar, and GetInt16 methods of the SQLiteDataReader class from
throwing exceptions for large integer values. Pursuant to [5535448538]. ** Potentially
Incompatible Change **
Use SAVEPOINTs to properly implement nested transactions when the new
AllowNestedTransactions connection flag is used. Pursuant to [1f7bfff467].
When converting a Julian Day value to an integer, round to the nearest millisecond first. Pursuant
to [69cf6e5dc8]. ** Potentially Incompatible Change **
1.0.103.0 - September 15, 2016
Updated to SQLite 3.14.2.
Add preliminary support for the .NET Framework 4.6.2.
Change the SQLiteReadValueCallback delegate "eventArgs" parameter to be of type
SQLiteReadEventArgs. ** Potentially Incompatible Change **
Make SQLiteReadValueEventArgs and SQLiteReadArrayEventArgs derive from
SQLiteReadEventArgs. ** Potentially Incompatible Change **
Rename SQLiteReadValueEventArgs.ArrayEventArgs property to ExtraEventArgs. ** Potentially
Incompatible Change **
Add No_SQLiteGetSettingValue and No_SQLiteXmlConfigFile environment variables.
Reduce the number of calls to GetSettingValue from SQLiteConnection. Pursuant to
[25d53b48f6]. ** Potentially Incompatible Change **
Add NoVerifyTypeAffinity connection flag to disable all type affinity checking.
Add support for incremental blob I/O.
Improve support for the sqlite3_db_config() interface. Pursuant to [f64f4aee95].
1.0.102.0 - June 23, 2016
Updated to SQLite 3.13.0.
Update the SQLiteConnection.EnableExtensions method to make use of the new
SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION option, when available. ** Potentially
Incompatible Change **
Prevent the SQLiteCommand.ExecuteScalar method from throwing an exception when there are
no result columns. ** Potentially Incompatible Change **
Support per-connection customization for binding parameters and reading values, based on the
database type name.
Add TypeName property to the SQLiteParameter class.
Add VerifyOnly method to the SQLiteCommand class.
Add IsReadOnly method to the SQLiteConnection class.
1.0.101.0 - April 19, 2016
Updated to SQLite 3.12.2.
Add binary package release for Mono on POSIX.
1.0.100.0 - April 15, 2016
Updated to SQLite 3.12.1.
Support compiling and using the interop assembly on Linux and Mac OS X.
Support running the test suite under Mono on Linux and Mac OS X.
Properly handle NULL values in the "name" column of the results returned by PRAGMA
index_info(). Fix for [5251bd0878].
For column types that resolve to boolean, recognize case-insensitive prefixes of "True" and
"False". Fix for [dbd65441a5].
Add NoVerifyTextAffinity connection flag to skip type affinity checking when fetching a column
value as a string. Pursuant to [dbd65441a5].
The UnixEpoch DateTime format should use Int64 internally, not Int32. ** Potentially
Incompatible Change **
Avoid using Path.Combine with null values in the native library pre-loader. Fix for [da685c0bac].
Fix the (unsupported) legacy CryptoAPI based codec so that it no longer prevents page size
changes.
1.0.99.1 - March 31, 2016
Updated to SQLite 3.9.3.
1.0.99.0 - December 9, 2015
Updated to SQLite 3.9.2.
Add preliminary support for the .NET Framework 4.6.1.
Fix handling of sqlite3_index_info members not available with older versions of the SQLite core
library. ** Potentially Incompatible Change **
Update and improve documentation comments for the native virtual table methods.
Permit an existing registered function to be replaced. Fix for [2556655d1b].
Make GetValue work for boolean columns with textual "True" and "False" values. Fix for
[7714b60d61]. ** Potentially Incompatible Change **
Add Reset method to the SQLiteCommand class.
Add FileName property to the SQLiteConnection class.
Add experimental support for the native json1 and fts5 extensions.
Add GetDatabaseName, GetTableName, and GetOriginalName methods to the SQLiteDataReader
class.
1.0.98.0 - August 19, 2015
Updated to SQLite 3.8.11.1.
Add full support for Visual Studio 2015 and the .NET Framework 4.6.
Add support for creating custom SQL functions using delegates.
Implement the Substring method for LINQ using the "substr" core SQL function. ** Potentially
Incompatible Change **
Prevent encrypted connections from being used with the connection pool. Pursuant to
[89d3a159f1]. ** Potentially Incompatible Change **
Honor the second argument to Math.Round when using LINQ. ** Potentially Incompatible
Change **
Honor the pre-existing flags for connections during the Open method. Fix for [964063da16]. **
Potentially Incompatible Change **
Remove errant semi-colons from the SQL used by LINQ to INSERT and then SELECT rows with
composite primary keys. Fix for [9d353b0bd8].
Refactor INSERT/UPDATE handling (in the LINQ assembly) so it can handle composite and non-
integer primary keys. Fix for [41aea496e0].
Change the base type for the SQLiteConnectionFlags enumeration to long integer. ** Potentially
Incompatible Change **
Add extended return codes to the SQLiteErrorCode enumeration. Pursuant to [71bedaca19]. **
Potentially Incompatible Change **
Improve exception handling in all native callbacks implemented in the SQLiteConnection class.
Add Progress event and ProgressOps connection string property to enable raising progress
events during long-running queries.
Add "Recursive Triggers" connection string property to enable or disable the recursive trigger
capability. Pursuant to [3a82ee635b].
Add NoDefaultFlags connection string property to prevent the default connection flags from being
used. Pursuant to [964063da16].
Add VfsName connection string property to allow a non-default VFS to be used by the SQLite
core library.
Add BusyTimeout connection string property to set the busy timeout to be used by the SQLite
core library.
Add UnbindFunction and UnbindAllFunctions methods to the SQLiteConnection class.
Enable integration with the ZipVFS extension.
1.0.97.0 - May 26, 2015
Updated to SQLite 3.8.10.2.
Updated to Entity Framework 6.1.3.
Improve ADO.NET conformance of the SQLiteDataReader.RecordsAffected property. Fix for
[74542e702e]. ** Potentially Incompatible Change **
Prevent the IDataReader.GetDataTypeName method from throwing "No current row" exceptions.
Fix for [94252b9059].
When BinaryGUID handling is off, transform the LINQ parameter types as well. Fix for
[a4d9c7ee94]. ** Potentially Incompatible Change **
The IDataReader.GetDataTypeName method should always return the declared type name. **
Potentially Incompatible Change **
Add DefaultFlags_SQLiteConnection environment variable to enable customization of the default
connection flags.
Prevent calls to sqlite3_step() and sqlite3_interrupt() from being interrupted via
ThreadAbortException.
Make sure enabling UseUTF16Encoding sets the schema encoding to UTF-16. Fix for
[7c151a2f0e].
1.0.96.0 - March 5, 2015
Prevent the IDataReader.GetOrdinal method from throwing "No current row" exceptions. Fix for
[2be4298631], [abad7c577d], and [c28d7fe915].
When counting the number of tables in the GetSchemaTable method, do not include those that
have a null or empty name. Fix for [92dbf1229a].
1.0.95.0 - March 2, 2015
Updated to SQLite 3.8.8.3.
Updated to Entity Framework 6.1.2.
Modify configuration file transforms performed by the NuGet packages to allow Entity Framework
6 design-time integration to work automatically. Fix for [2be4298631], [abad7c577d], and
[417d669435].
The "System.Data.SQLite.EF6*" and "System.Data.SQLite.Linq*" NuGet packages no longer
depend on the "System.Data.SQLite.Core*" packages. ** Potentially Incompatible Change
**
The "System.Data.SQLite.MSIL*" NuGet packages no longer directly include any files; they are
now meta-packages. ** Potentially Incompatible Change **
The "System.Data.SQLite.x86*" and "System.Data.SQLite.x64*" NuGet packages now depend
on the "System.Data.SQLite.Linq" and "System.Data.SQLite.EF6" NuGet packages. **
Potentially Incompatible Change **
Make sure SQL statements generated for DbUpdateCommandTree objects are properly delimited.
Make sure SQLiteIndexOutputs.ConstraintUsages instances are created prior to calling
ISQLiteManagedModule.BestIndex. Fix for [56f511d268].
Correct marshalling of strings and blobs in the SQLiteValue class. Fix for [85b824b736].
Various minor performance enhancements to the SQLiteDataReader class. Pursuant to
[e122d26e70].
Defer disposing of connections created by the static SQLiteCommand.Execute method when a
data reader is returned. Fix for [daeaf3150a].
Wrap SELECT statements in parenthesis if they have an ORDER BY, LIMIT, or OFFSET clause and a
compound operator is involved. Fix for [0a32885109].
In the SQLiteDataReader.VerifyType method, remove duplicate "if" statement for the
DbType.SByte value and move the remaining "if" to the Int64 affinity. Fix for [c5cc2fb334]. **
Potentially Incompatible Change **
Handle Julian Day values that fall outside of the supported range for OLE Automation dates. Fix
for [3e783eecbe]. ** Potentially Incompatible Change **
Make sure the interop files are copied when publishing a project that refers to a NuGet package
containing them. Fix for [e796ac82c1]. ** Potentially Incompatible Change **
Make sure the interop files are copied before the PostBuildEvent. Fix for [f16c93a932]. **
Potentially Incompatible Change **
Modify GetSchemaTable method to avoid setting SchemaTableColumn.IsKey column to true when
more than one table is referenced. Fix for [47c6fa04d3]. ** Potentially Incompatible Change
**
Add AppendManifestToken_SQLiteProviderManifest environment variable to enable better
integration between LINQ and the underlying store connection.
Add SQLite_ForceLogPrepare environment variable to force logging of all prepared SQL regardless
of the flags for the associated connection.
Honor the DateTimeFormat, DateTimeKind, DateTimeFormatString, BinaryGUID connection string
and/or provider manifest token properties from within the LINQ assembly. Fix for
[8d928c3e88]. ** Potentially Incompatible Change **
Add PrepareRetries connection string property to allow the maximum number of retries when
preparing a query to be overridden. Fix for [647d282d11].
Add BindDateTimeWithKind connection flag to force DateTime parameter values to match the
DateTimeKind associated with the connection, if applicable. Fix for [a7d04fb111].
1.0.94.0 - September 9, 2014
Updated to SQLite 3.8.6.
Updated to Entity Framework 6.1.1.
Refactor and simplify NuGet packages in order to support per-solution SQLite interop assembly
files. ** Potentially Incompatible Change **
Add RefreshFlags method to the SQLiteDataReader class to forcibly refresh its connection flags.
Improve automatic detection and handling of the Entity Framework 6 assembly by the design-
time components installer. Pursuant to [e634e330a6]. ** Potentially Incompatible Change
**
Improve SQLiteDataReader performance slightly by caching the connection flags. ** Potentially
Incompatible Change **
Add ClearCachedSettings method to the SQLiteConnection class.
Add NoConvertSettings connection flag to disable querying of runtime configuration settings from
within the SQLiteConvert class. Pursuant to [58ed318f2f].
Minimize usage of the "Use_SQLiteConvert_DefaultDbType" and
"Use_SQLiteConvert_DefaultTypeName" settings. Fix for [58ed318f2f]. ** Potentially
Incompatible Change **
1.0.93.0 - June 23, 2014
Updated to SQLite 3.8.5.
Updated to Entity Framework 6.1.
Add support for mapping transaction isolation levels to their legacy default values. Pursuant to
[56b42d99c1].
Add support for setting the default DbType and type name used for mappings on a per-
connection basis. Pursuant to [3c00ec5b52].
Add DetectTextAffinity and DetectStringType connection flags to enable automatic detection of
column types, when necessary. Pursuant to [3c00ec5b52].
Add SetChunkSize method to the SQLiteConnection class. Pursuant to [d1c008fa0a].
Add SharedFlags static property to the SQLiteConnection class.
Make the ISQLiteSchemaExtensions interface public. ** Potentially Incompatible Change **
Have the SQLiteProviderFactory class (in the System.Data.SQLite.Linq assembly) implement the
IServiceProvider interface.
Fix bug in documentation generator automation that prevented some internal documentation
links from working.
Fix DateTime constant handling in the LINQ assembly. Fix for [da9f18d039]. ** Potentially
Incompatible Change **
1.0.92.0 - March 19, 2014
Updated to SQLite 3.8.4.1.
Update the list of keywords returned by SQLiteConnection.GetSchema("ReservedWords"). **
Potentially Incompatible Change **
Raise the static SQLiteConnection.Changed event when any SQLiteCommand or
SQLiteDataReader object is closed or disposed.
Add the SQLiteDataReader.StepCount property to return the number of rows seen so far.
Add StickyHasRows connection flag to cause the SQLiteDataReader.HasRows property to return
non-zero if there were ever any rows in the associated result sets.
When the TraceWarning connection flag is set, issue warnings about possibly malformed UNC
paths. Pursuant to [283344397b].
Convert the primary NuGet package, "System.Data.SQLite", into a meta-package.
Enhancements to the NuGet packages, including the new "modular" packages.
1.0.91.0 - February 12, 2014
Updated to SQLite 3.8.3.1.
Refresh all included SQLite core library documentation (e.g. SQL syntax).
Add support for Entity Framework 6.
Add support for per-connection mappings between type names and DbType values. Pursuant to
[e87af1d06a].
Modify the namespace used for all internal classes in the System.Data.SQLite.Linq assembly. **
Potentially Incompatible Change **
Add SQLiteCompileOptions and InteropCompileOptions properties to the SQLiteConnection class
to return the compile-time options for the SQLite core library and interop assembly, respectively.
Add BindInvariantText and ConvertInvariantText connection flags to force the invariant culture to
be used when converting parameter values to/from strings.
Add NoConnectionPool and UseConnectionPool connection flags to disable or enable connection
pooling by default.
Modify handling of the design-time components installer to run Visual Studio devenv.exe /setup
after installing the package. This appears to be necessary in some circumstances for Visual Studio
2013. Pursuant to [a47eff2c71].
Modify the native library pre-loader to support reading settings from an XML configuration file and
to be capable of checking more than one directory. Persuant to [f0246d1817].
Support detecting when the native library pre-loader should use the CodeBase property instead
of the Location property as the basis for locating the interop assembly.
Change the default behavior for the native library pre-loader so it first searches the executing (i.e.
System.Data.SQLite) assembly directory and then the application domain directory. Pursuant to
[f0246d1817]. ** Potentially Incompatible Change **
Include DbType.AnsiString in the list of types that need special ColumnSize handling. Fix for
[0550f0326e].
1.0.90.0 - December 23, 2013
Updated to SQLite 3.8.2.
Add Visual Studio 2013 support to all the applicable solution/project files, their associated
supporting files, and the test suite.
Add Visual Studio 2013 support to the redesigned designer support installer.
Add support for Windows Embedded Compact 2013.
Add experimental support for the native regexp extension.
Never create a new connection wrapper in the SQLiteConnection.Shutdown method. **
Potentially Incompatible Change **
Add experimental GetMemoryStatistics, ReleaseMemory, and Shutdown methods to the
SQLiteConnection class.
Add memory leak detection to the test project for the .NET Compact Framework.
Add SQLITE_ENABLE_MEMORY_MANAGEMENT compile-time option to the interop assembly.
Use current isolation level when enlisting into an existing transaction. Fix for [56b42d99c1].
Better handling of non-error log messages from the SQLite core library. Pursuant to
[44df10ea90].
Add TraceWarning connection flag to enable tracing of type mapping failures and disable tracing of
them by default. Pursuant to [6d45c782e4].
Use 32-bit values to keep track of numeric precision and scale when building the schema table for
a query. Fix for [ef2216192d].
1.0.89.0 - October 28, 2013
Updated to SQLite 3.8.1.
Add AutoCommit property to the SQLiteConnection class. Fix for [9ba9346f75].
Use declared column sizes for the AnsiStringFixedLength and StringFixedLength mapped database
types. Fix for [3113734605].
Check the result of sqlite3_column_name function against NULL.
Return false for the SQLiteParameterCollection.IsSynchronized property because it is not thread-
safe.
Raise the static SQLiteConnection.Changed event when any SQLiteCommand, SQLiteDataReader,
or CriticalHandle derived object instance is created. Fix for [aba4549801].
Add SQLiteCommand.Execute, SQLiteCommand.ExecuteNonQuery, and
SQLiteCommand.ExecuteScalar method overloads that take a CommandBehavior parameter.
Revise how the extra object data is passed to the static SQLiteConnection.Changed event. **
Potentially Incompatible Change **
Make sure the database cannot be changed by a query when the CommandBehavior.SchemaOnly
flag is used. Fix for [f8dbab8baf]. ** Potentially Incompatible Change **
Fix bug in NDoc3 that was preventing some of the MSDN documentation links from working.
Include the XML documentation files in the NuGet packages. Fix for [5970d5b0a6].
Add InteropVersion, InteropSourceId, ProviderVersion, and ProviderSourceId properties to the
SQLiteConnection class.
Add experimental support for interfacing with the authorizer callback in the SQLite core library.
Add experimental support for the native totype extension.
1.0.88.0 - August 7, 2013
Various fixes to managed virtual table integration infrastructure.
Implement workaround for an incorrect PROCESSOR_ARCHITECTURE being reported. Fix for
[9ac9862611].
Modify classes that implement the IDisposable pattern to set the disposed flag after their base
classes have been disposed.
When automatically registering custom functions, use the executing assembly (i.e.
System.Data.SQLite) for reference detection. Fix for [4e49a58c4c].
1.0.87.0 - July 8, 2013
Add all the necessary infrastructure to allow virtual tables to be implemented in managed code.
Fix for [9a544991be].
The DbType to type name translation needs to prioritize the Entity Framework type names. Fix
for [47f4bac575].
Add DateTimeFormatString connection string property to allow the DateTime format string used
for all parsing and formatting to be overridden.
Add NoFunctions connection flag to skip binding functions registered in the application domain.
Add several data-types for compatibility purposes. Fix for [fe50b8c2e8].
Add SQLiteConnection.BindFunction method to facilitate adding custom functions on a per-
connection basis.
When reading a DateTime value, avoid unnecessary string conversions. Fix for [4d87fbc742].
Modify the index introspection code so that it does not treat PRAGMA table_info "pk" column
values as boolean. Fix for [f2c47a01eb].
Disable use of the new connection string parsing algorithm when the
No_SQLiteConnectionNewParser environment variable is set. Pursuant to [bbdda6eae2].
Rename the ReturnCode property of the SQLiteException class to ResultCode. ** Potentially
Incompatible Change **
1.0.86.0 - May 23, 2013
Updated to SQLite 3.7.17.
Disable use of the AllowPartiallyTrustedCallers attribute when compiled for the .NET Framework
4.0/4.5. ** Potentially Incompatible Change **
Allow semi-colons in the data source file name. Fix for [e47b3d8346]. ** Potentially
Incompatible Change **
NULL values should be reported as type "object", not "DBNull". Fix for [48a6b8e4ca].
1.0.85.0 - April 18, 2013
Updated to SQLite 3.7.16.2.
Properly handle embedded NUL characters in parameter and column values. Fix for
[3567020edf].
Make use of the sqlite3_prepare_v2 function when applicable.
Check for a valid row in the SQLiteDataReader.GetValue method.
Implement processor architecture detection when running on the .NET Compact Framework (via
P/Invoke).
Support automated testing when running on the .NET Compact Framework 2.0.
Skip checking loaded assemblies for types tagged with the SQLiteFunction attribute when the
No_SQLiteFunctions environment variable is set. Pursuant to [e4c8121f7b].
Add HexPassword connection string property to work around the inability to include a literal
semicolon in a connection string property value. Pursuant to [1c456ae75f].
Add static Execute method to the SQLiteCommand class.
Support custom connection pool implementations by adding the ISQLiteConnectionPool interface,
the static SQLiteConnection.ConnectionPool property, and the static CreateHandle method in
addition to modifying the SQLiteConnectionPool class. Pursuant to [393d954be0].
Add public constructor to the SQLiteDataAdapter class that allows passing the
parseViaFramework parameter to the SQLiteConnection constructor.
When built with the CHECK_STATE compile-time option, skip throwing exceptions from the
SQLiteDataReader class when the object is being disposed.
Support automatic value conversions for columns with a declared type of BIGUINT, INTEGER8,
INTEGER16, INTEGER32, INTEGER64, SMALLUINT, TINYSINT, UNSIGNEDINTEGER,
UNSIGNEDINTEGER8, UNSIGNEDINTEGER16, UNSIGNEDINTEGER32, UNSIGNEDINTEGER64,
INT8, INT16, INT32, INT64, UINT, UINT8, UINT16, UINT32, UINT64, or ULONG.
Add BindUInt32AsInt64 connection flag to force binding of UInt32 values as Int64 instead.
Pursuant to [c010fa6584].
Add BindAllAsText and GetAllAsText connection flags to force binding and returning of all values as
text.
Remove AUTOINCREMENT from the column type name map. ** Potentially Incompatible
Change **
Avoid throwing overflow exceptions from the SQLite3.GetValue method for integral column
types. Partial fix for [c010fa6584]. ** Potentially Incompatible Change **
Use the legacy connection closing algorithm when built with the INTEROP_LEGACY_CLOSE
compile-time option.
Support using the directory containing the primary managed-only assembly as the basis for
native library pre-loading.
Still further enhancements to the build and test automation.
1.0.84.0 - January 9, 2013
Updated to SQLite 3.7.15.2.
Explicitly dispose of all SQLiteCommand objects managed by the DbDataAdapter class. Fix for
[6434e23a0f].
Add Cancel method to the SQLiteConnection class to interrupt a long running query.
Improve thread safety of the SQLiteLog.LogMessage method.
1.0.83.0 - December 29, 2012
Updated to SQLite 3.7.15.1.
Add Visual Studio 2012 support to all the applicable solution/project files, their associated
supporting files, and the test suite.
Add Visual Studio 2012 support to the redesigned designer support installer.
Allow opened connections to skip adding the extension functions included in the interop assembly
via the new NoExtensionFunctions connection flag.
Support loading of SQLite extensions via the new EnableExtensions and LoadExtension methods
of the SQLiteConnection class. Pursuant to [17045010df].
Remove one set of surrounding single or double quotes from property names and values parsed
from the connection string. Fix for [b4cc611998].
Modify parsing of connection strings to allow property names and values to be quoted. **
Potentially Incompatible Change **
Add ParseViaFramework property to the SQLiteConnection class to allow the built-in (i.e.
framework provided) connection string parser to be used when opening a connection. Pursuant
to [b4cc611998].
Add notifications before and after any connection is opened and closed, as well as other related
notifications, via the new static Changed event.
Add an overload of the SQLiteLog.LogMessage method that takes a single string parameter.
Add an overload of the SQLiteConnection.LogMessage method that takes a SQLiteErrorCode
parameter.
All applicable calls into the SQLite core library now return a SQLiteErrorCode instead of an integer
error code.
Make sure the error code of the SQLiteException class gets serialized.
Make the test project for the .NET Compact Framework more flexible.
When available, the new sqlite3_errstr function from the core library is used to get the error
message for a specific return code.
The SetMemoryStatus, Shutdown, ResultCode, ExtendedResultCode, and SetAvRetry methods of
the SQLiteConnection class now return a SQLiteErrorCode instead of an integer error code. **
Potentially Incompatible Change **
The public constructor for the SQLiteException now takes a SQLiteErrorCode instead of an
integer error code. ** Potentially Incompatible Change **
The ErrorCode property of the SQLiteException is now an Int32, to allow the property inherited
from the base class to be properly overridden. ** Potentially Incompatible Change **
The ErrorCode field of the LogEventArgs is now an object instead of an integer. ** Potentially
Incompatible Change **
The names and messages associated with the SQLiteErrorCode enumeration values have been
normalized to match those in the SQLite core library. ** Potentially Incompatible Change **
Implement more robust locking semantics for the CriticalHandle derived classes when compiled
for the .NET Compact Framework.
Cache column indexes as they are looked up when using the SQLiteDataReader to improve
performance.
Prevent the SQLiteConnection.Close method from throwing non-fatal exceptions during its
disposal.
Rename the interop assembly functions sqlite3_cursor_rowid, sqlite3_context_collcompare,
sqlite3_context_collseq, sqlite3_cursor_rowid, and sqlite3_table_cursor to include an "_interop"
suffix. ** Potentially Incompatible Change **
Prevent the LastInsertRowId, MemoryUsed, and MemoryHighwater connection properties from
throwing NotSupportedException when running on the .NET Compact Framework. Fix for
[dd45aba387].
Improve automatic detection of the sqlite3_close_v2 function when compiled to use the
standard SQLite library.
Add protection against ThreadAbortException asynchronously interrupting native resource
initialization and finalization.
Add native logging callback for use with the sqlite3_log function to the interop assembly, enabled
via the INTEROP_LOG preprocessor definition.
Add various diagnostic messages to the interop assembly, enabled via flags in the
INTEROP_DEBUG preprocessor definition.
Further enhancements to the build and test automation.
Add test automation for the Windows CE binaries.
1.0.82.0 - September 3, 2012
Updated to SQLite 3.7.14.
Properly handle quoted data source values in the connection string. Fix for [8c3bee31c8].
The primary NuGet package now supports x86 / x64 and the .NET Framework 2.0 / 4.0 (i.e. in a
single package).
Change the default value for the Synchronous connection string property to Full to match the
default used by the SQLite core library itself. ** Potentially Incompatible Change **
Add the ability to skip applying default connection settings to opened databases via the new
SetDefaults connection string property.
Add the ability to skip expanding data source file names to their fully qualified paths via the new
ToFullPath connection string property.
Fix the database cleanup ordering in the tests for ticket [343d392b51].
Add support for the sqlite3_close_v2 function from the SQLite core library.
Add support for URI file names via the new FullUri connection string property.
Improve support for the standard SQLite core library in the LINQ assembly and the test suite.
Add SetMemoryStatus static method to the SQLiteConnection class.
Improve threaded handling of the delegate used by the SQLiteLog class.
Add define constants to support enabling or disabling individual groups of trace statements.
1.0.81.0 - May 27, 2012
Updated to SQLite 3.7.12.1.
Support compiling the interop assembly without support for the custom extension functions and
the CryptoAPI based codec.
Add DefineConstants property to the SQLiteConnection class to return the list of define constants
used when compiling the core managed assembly.
Add release archive verification tool to the release automation.
Fix NullReferenceException when calling the SQLiteDataAdapter.FillSchema method on a query
that returns multiple result sets. Fix for [3aa50d8413].
Fix subtle race condition between threads fetching connection handles from the connection pool
and any garbage collection (GC) threads that may be running. Fix for [996d13cd87].
Add missing call to SetTimeout in the SQLite3_UTF16.Open method.
Add checks to prevent the SQLiteConnectionPool.Remove method from returning any connection
handles that are closed or invalid.
Modify static SQLiteBase helper methods to prevent them from passing IntPtr.Zero to the SQLite
native library.
Remove static locks from the static helper methods in the SQLiteBase class, replacing them with
a lock on the connection handle instance being operated upon.
Revise CriticalHandle derived classes to make them more thread-safe.
Add connection pool related diagnostic messages when compiled with the DEBUG define
constant.
Add PoolCount property to the SQLiteConnection class to return the number of pool entries for
the file name associated with the connection.
Rename internal SQLiteLastError methods to GetLastError.
Add assembly file test constraints to all tests that execute the "test.exe" or "testlinq.exe" files.
1.0.80.0 - April 1, 2012
Updated to SQLite 3.7.11.
In the SQLiteFunction class, when calling user-provided methods from a delegate called by native
code, avoid throwing exceptions, optionally tracing the caught exceptions. Fix for [8a426d12eb].
Add Visual Studio 2005 support to all the applicable solution/project files, their associated
supporting files, and the test suite.
Add Visual Studio 2005 support to the redesigned designer support installer.
Add experimental support for "pre-loading" the native SQLite library based on the processor
architecture of the current process. This feature is now enabled by default at compile-time.
Add support for the native SQLite Online Backup API. Fix for [c71846ed57].
Acquire and hold a static data lock while checking if the native SQLite library has been initialized to
prevent a subtle race condition that can result in superfluous error messages. Fix for
[72905c9a77].
Support tracing of all parameter binding activity and use the connection flags to control what is
traced.
When converting a DateTime instance of an "Unspecified" kind to a string, use the same kind as
the connection, if available.
Add overload of the SQLiteDataReader.GetValues method that returns a NameValueCollection.
Add static ToUnixEpoch method to the SQLiteConvert class to convert a DateTime value to the
number of whole seconds since the Unix epoch.
In the implicit conversion operators (to IntPtr) for both the SQLiteConnectionHandle and
SQLiteStatementHandle classes, return IntPtr.Zero if the instance being converted is null.
Write warning message to the active trace listeners (for the Debug build configuration only) if a
column type or type name cannot be mapped properly. See [4bbf851fa5].
When tracing SQL statements to be prepared, bypass the internal length limit of the sqlite3_log
function by using the SQLiteLog class directly instead. Also, detect null and/or empty strings and
emit a special message in that case.
For the setup, the Visual Studio task should only be initially checked if the GAC task is available
and vice-versa.
Improve compatibility with custom command processors by using __ECHO instead of _ECHO in
batch tools.
Add OpenAndReturn method to the SQLiteConnection class to open a connection and return it.
Add missing CheckDisposed calls to the SQLiteConnection class.
Add missing throw statement to the SQLiteConnection class.
Make sure the interop project uses /fp:precise for Windows CE.
Regenerate package load key to support loading the designer package into Visual Studio 2008
without having the matching SDK installed.
Modify transaction object disposal so that it can never cause an exception to be thrown.
1.0.79.0 - January 28, 2012
Use the WoW64 registry keys when installing the VS designer components on 64-bit Windows.
Fix for [d8491abd0b].
Correct resource name used by the LINQ assembly to locate several key string resources. Fix for
[fbebb30da9].
1.0.78.0 - January 27, 2012
Updated to SQLite 3.7.10.
Redesign the VS designer support installer and integrate it into the setup packages.
When emitting SQL for foreign keys in the VS designer, be sure to take all returned schema rows
into account. Remainder of fix for [b226147b37].
Add Flags connection string property to control extra behavioral flags for the connection.
Refactor all IDisposable implementations to conform to best practices, potentially eliminating
leaks in certain circumstances.
Even more enhancements to the build and test automation.
Support parameter binding to more primitive types, including unsigned integer types.
Recognize the TIMESTAMP column data type as the DateTime type. Fix for [bb4b04d457].
Prevent logging superfluous messages having to do with library initialization checking. Fix for
[3fc172d1be].
Support the DateTimeKind and BaseSchemaName connection string properties in the
SQLiteConnectionStringBuilder class. Fix for [f3ec1e0066].
Overloads of the SQLiteConvert.ToDateTime and SQLiteConvert.ToJulianDay methods that do not
require an instance should be static. Partial fix for [4bbf851fa5]. ** Potentially Incompatible
Change **
1.0.77.0 - November 28, 2011
Updated to SQLite 3.7.9.
More enhancements to the build and test automation.
Plug native memory leak when closing a database connection containing a statement that cannot
be finalized for some reason.
The SQLite3 class should always attempt to dispose the contained SQLiteConnectionHandle, even
when called via the finalizer.
When compiled with DEBUG defined, emit diagnostic information related to resource cleanup to
any TraceListener objects that may be registered.
Stop characterizing all log messages as errors. From now on, if the errorCode is zero, the
message will not be considered an error.
Never attempt to configure the native logging interface if the SQLite core library has already been
initialized for the process. Fix for [2ce0870fad].
Allow the SQLiteLog class to be used for logging messages without having an open connection.
Support building the core System.Data.SQLite assemblies using the .NET Framework 4.0 Client
Profile. Fix for [566f1ad1e4].
When generating the schema based on the contents of a SQLiteDataReader, skip flagging
columns as unique if the data reader is holding the result of some kind of multi-table construct
(e.g. a cross join) because we must allow duplicate values in that case. Fix for [7e3fa93744].
When returning schema information that may be used by the .NET Framework to construct
dynamic SQL, use a fake schema name (instead of null) so that the table names will be properly
qualified with the catalog name (i.e. the attached database name). Partial fix for [343d392b51].
Add SQLiteSourceId property to the SQLiteConnection class to return the SQLite source identifier.
Add MemoryUsed and MemoryHighwater properties to the SQLiteConnection class to help
determine the memory usage of SQLite.
Add DateTimeKind connection string property to control the DateTimeKind of parsed DateTime
values. Partial fix for [343d392b51]. ** Potentially Incompatible Change **
Improve the robustness of the SQLiteLog class when it will be initialized and unloaded multiple
times.
Fix the name of the interop assembly for Windows CE. Add unit tests to prevent this type of
issue from happening again. Fix for [737ca4ff74].
Formally support the SQL type name BOOLEAN in addition to BOOL. Fix for [544dba0a2f].
Make sure the SQLiteConvert.TypeNameToDbType method is thread-safe. Fix for [84718e79fa].
1.0.76.0 - October 4, 2011
Prevent the domain unload event handler in SQLiteLog from being registered multiple times. Fix
for [0d5b1ef362].
Stop allowing non-default application domains to initialize the SQLiteLog class. Fix for
[ac47dd230a].
1.0.75.0 - October 3, 2011
Updated to SQLite 3.7.8.
More enhancements to the build system.
Add official NuGet packages for x86 and x64.
Add Changes and LastInsertRowId properties to the connection class.
Support more formats when converting data from/to the DateTime type.
Make all the assembly versioning attributes consistent.
Add unit testing infrastructure using Eagle.
Integrate all legacy unit tests, including the "testlinq" project, into the new test suite.
Add projects to build the interop assembly statically linked to the Visual C++ runtime. Fix for
[53f0c5cbf6].
Add SQLITE_ENABLE_STAT2 compile-time option to the interop assembly. Fix for [74807fbf27].
Fix mutex issues exposed when running the test suite with the debug version of SQLite.
Fix transaction enlistment when repeated attempts are made to enlist in the same transaction.
Fix for [ccfa69fc32].
Support the SQLITE_FCNTL_WIN32_AV_RETRY file control to mitigate the impact of file sharing
violations caused by external processes.
Refactor the logging interface to be thread-safe and self-initializing.
Shutdown the SQLite native interface when the AppDomain is being unloaded. Fix for
[b4a7ddc83f].
Support Skip operation for LINQ using OFFSET. Fix for [8b7d179c3c].
Support EndsWith operation for LINQ using SUBSTR. Fix for [59edc1018b].
Support all SQLite journal modes. Fix for [448d663d11].
Do not throw exceptions when disposing SQLiteDataReader. Fix for [e1b2e0f769].
The REAL type should be mapped to System.Double. Fix for [2c630bffa7] and [b0a5990f48].
Minor optimization to GetParamValueBytes(). Fix for [201128cc88].
Support the ON UPDATE, ON DELETE, and MATCH clause information when generating schema
metadata for foreign keys. Partial fix for [b226147b37]. VS designer changes are not yet tested.
Fix incorrect resource name for SR.resx in the mixed-mode assembly.
Reduce the number of String.Compare() calls in the hot path for
SQLiteCommand.ExecuteReader().
1.0.74.0 - July 4, 2011
Updated to SQLite 3.7.7.1.
Fix incorrect hard-coded .NET Framework version information SQLiteFactory_Linq.cs that was
causing IServiceProvider.GetService to fail when running against the .NET Framework 3.5.
Fix all XML documentation warnings.
Restore support for the mixed-mode assembly (i.e. the one that can be registered in the Global
Assembly Cache).
Restore support for the Compact Framework.
Remove unused "using" statements from the System.Data.SQLite and System.Data.SQLite.Linq
projects.
Remove hard-coded System.Data.SQLite.Linq version from SQLiteFactory_Linq.cs
Modify the setup to support bundled packages (i.e. with the mixed-mode assembly) and
standard packages (i.e. with the managed assembly separate from the native interop library).
Disable the ability to register with the Global Assembly Cache in the standard setup package (i.e.
it is available in the bundled setup only).
Remove PATH modification from the setup.
Modify the naming scheme for the source, setup, and binary packages to allow for the necessary
variants.
In the build automation, attempt to automatically detect if Visual Studio 2008 and/or 2010 are
installed and support building binaries for both at once, when available.
Add release automation to build the source, setup, and binary packages in all supported build
variants.
Add the testlinq project to the new build system and make it work properly with Visual Studio
2008 and 2010.
1.0.73.0 - June 2, 2011
Updated to SQLite 3.7.6.3.
Minor optimization to GetBytes(). Fix for [8c1650482e].
Update various assembly information settings.
Correct System.Data.SQLite.Linq version and resource information. Fix for [6489c5a396] and
[133daf50d6].
Moved log handler from SQLiteConnection object to SQLiteFactory object to prevent if from
being prematurely GCed.
We should block x64 installs on x86 and we should install native only if the setup package itself is
native. Fix for [e058ce156e].
1.0.72.0 - May 1, 2011
Add the correct directory to the path. Fix for [50515a0c8e].
1.0.71.0 - April 27, 2011
Updated to SQLite 3.7.6+ [1bd1484cd7] to get additional Windows error logging.
Updated setup to optionally add install directory to PATH if GAC option selected.
1.0.70.0 - April 22, 2011
Added support for sqlite3_extended_result_codes(), sqlite3_errcode(), and
sqlite3_extended_errcode() via SetExtendedResultCodes(), ResultCode(), and
ExtendedResultCode().
Added support for SQLITE_CONFIG_LOG via SQLiteLogEventHandler().
1.0.69.0 - April 12, 2011
Code merge with SQLite 3.7.6.
New VS2008 and VS2010 solution files.
Build and packaging automation.
New Inno Setup files.
Designer support currently not ready for release.
1.0.68.0 - February 2011
Code merge with SQLite 3.7.5.
Continuing work on supporting Visual Studio 2010.
1.0.67.0 - January 3, 2011
Code merge with SQLite 3.7.4.
Continuing work on supporting Visual Studio 2010.
1.0.66.1 - August 1, 2010
Code merge with SQLite 3.7.0.1
Re-enabled VS2005 designer support, broken in previous versions during the 2008 transition
Implemented new forms of Take/Skip in the EF framework courtesy jlsantiago
Added "Foreign Keys" to the connection string parameters
Added the Truncate option to the Journal Modes enumeration
1.0.66.0 - April 18, 2010
Code merge with SQLite 3.6.23.1
Fixed a bug in the installer that accidentally modified the machine.config on .NET versions prior to
2.0, invaliding the config file.
Fixed INTERSECT and EXCEPT union query generation in EF
Fixed an out of memory error in the trigger designer in cases where a WHEN clause is used in the
trigger
1.0.65.0 - July 26, 2009
Fixed a bug in the encryption module to prevent a double free() when rekeying a database.
Fixed a bug in the encryption module when ATTACHing an encrypted database.
Incorporated the WinCE locking fix from ticket #3991
Added "bigint" to the dropdown in the table designer, plus other minor table designer bugfixes.
1.0.64.0 - July 9, 2009
Fixed the missing resources problem from the 63 release.
Added preliminary support for the Visual Studio 2010 beta.
Fixed a bug in SQLiteCommand that threw a null reference exception when setting the
Transaction object to null.
If SQLiteConnection.EnlistTransaction is called multiple times for the same transaction scope, just
return without throwing an error.
1.0.63.0 - June 29, 2009
Code merge with SQLite 3.6.16
Check the autocommit mode of the connection to which a transaction is bound during the
disposal of the transaction. If autocommit is enabled, then the database has already rolled back
the transaction and we don't need to do it during dispose, and can quietly ignore the step without
throwing an error.
Eliminated the mergebin step altogether. It was developed primarily to merge the Compact
Framework binaries together, but since we're not doing that anymore, its use is limited. Its non-
standard method of merging a binary on the desktop framework is redundant as well. The
desktop binary now hard-links to MSCOREE, but as of Windows XP, this was redundant as well
since XP and beyond automatically attempt to load MSCOREE on startup when a DLL has a .NET
header.
More improvements to the test.exe program for running the tests against Sql Server for
comparison purposes.
1.0.62.0 - June 20, 2009
Code merge with SQLite 3.6.15
Fixed the decimal reading bug in the SQLiteDataReader
Changed Join()'s to Sleep()'s in the statement retry code to prevent message pumping
Fixed a bad pointer conversion when retrieving blobs using GetBytes() in 64-bit land
Several changes to the Test program that comes with the provider. Tests can now be individually
disabled, and the test program can run against several provider back-ends
1.0.61.0 - April 28, 2009
Code merge with SQLite 3.6.13. The new backup features are as yet unimplemented in the
provider, but will be forthcoming in a subsequent release
Fixed the default-value lookups in SQLiteConnectionStringBuilder when accessing properties
Lock the SQLiteTransaction object during dispose to avoid potential race condition during cleanup
Fixed SQLiteDataReader.GetDecimal() processing and parsing of decimal values for cases when
SQLite returns things like "1.0e-05" instead of "0.0001"
1.0.60.0 - October 3, 2008
Throw a NotSupported exception in the EF Sql Gen code instead of parsing illegal SQL during an
update/insert/delete where no primary key is defined.
Fixed the Compact Framework interop library. Since the linker flag /subsystem had no version
specified, it was causing a problem for many CE-based platforms.
Incorporated SQLite patch for ticket #3387 and reverted out the vfs override code I added in
build 59 to work around this problem.
Fixed a designer issue when creating a new table from the Server Explorer. After initially saving it,
if you then continued to edit it and tried to save it again, it would generate the change SQL using
the old temporary table name rather than the new name.
1.0.59.0 - September 22, 2008
Code merge with SQLite 3.6.3. Solves a couple different EF issues that were either giving
inconsistent results or crashing the engine.
Fixed the parsing of literal binaries in the EF SqlGen code. SQLite now passes nearly all the
testcases in Microsoft's EF Query Samples application -- the exception being the datetimeoffset
and time constants tests, and tests that use the APPLY keyword which are unsupported for now.
Revamped the Compact Framework mixed-mode assembly. Tired of playing cat and mouse with
the Compact Framework's support for mixed-mode assemblies. The CF build now requires that
you distribute both the System.Data.SQLite library and the paired SQLite.Interop.XXX library.
The XXX denotes the build number of the library.
Implemented a workaround for Vista's overzealous caching by turning off
FILE_FLAG_RANDOM_ACCESS for OS versions above XP. This is implemented as a custom
(default override) VFS in the interop.c file, so no changes are made to the SQLite source code.
Fixed some registry issues in the designer install.exe, which prevented some design-time stuff
from working on the Compact Framework when .NET 3.5 was installed.
1.0.58.0 - August 30, 2008
Code merge with SQLite 3.6.2. If only I'd waited one more day to release 57! Several LINQ
issues have been resolved with this engine release relating to deeply-nested subqueries that the
EF SqlGen creates.
Fixed the Rollback SQLiteConnection event to not require a connection be opened first.
1.0.57.0 - August 29, 2008
Compiled against 3.6.1 with checkin #3300 resolved, which fixes an Entity Framework bug I was
seeing. I currently have 3 other tickets out on the engine, which are not yet resolved and relate
to EF.
Fixed decimal types to store and fetch using InvariantCulture. If you're using decimal datatypes
in your database and were affected by the 56 release, please issue an UPDATE <table> SET
<column> = REPLACE(<column>, ',', '.'); to fix the decimal separators. Apologies for not
testing that more thoroughly before releasing 56.
Too many LINQ fixes to list. Fixed views so they generate, fixed the LIMIT clause, implemented
additional functionality and removed unnecessary code.
Fixed foreign key names in the designer so viewing the SQL script on a new unsaved table after
renaming it in the properties toolwindow will reflect in the script properly.
Fixed the Update and Commit events on SQLiteConnection so they don't require the connection
to be opened first.
Fixed userdef aggregate functions so they play nice with each other when appearing multiple
times in the same statement.
Fixed the editing and saving of default values in the table designer.
Fixed ForeignKeys schema to support multi-column foreign keys. Also hacked support for them
in the table designer, provided two foreign keys in the designer have the same name and
reference the same foreign table and different columns. Will implement first-class support for this
in the next release.
1.0.56.0 - August 11, 2008
Fixed a bug in the table designer when designing new tables, wherein you had to save the table
first before being able to create indexes and foreign keys.
Tweaks to decimal type handling. The 'decimal' type can't be represented by Int64 or Double
(without loss of precision) in SQLite, so we have to fudge it by treating it like a string and
converting it back and forth in the provider. Unfortunately backing it to the db as a string causes
sorting problems. See this post for details on using a custom collation sequence to overcome
the sorting issue arising from this patch.
Minor tweaks and bugfixes to the test program and the provider.
More adjustments to make the managed-only version of the provider run and pass all tests on
Mono.
LINQ to Entities bits heavily updated and compiled against VS2008 SP1 RTM. SQLite LINQ
support is still considered beta.
1.0.55.0 - August 6, 2008
Code merge with SQLite 3.6.1
Added support for the user-contributed extension-functions at https://www.sqlite.org/contrib.
Feel free to override any of them with your own implementation. The new functions are: acos,
asin, atan, atn2, atan2, acosh, asinh, atanh, difference, degrees, radians, cos, sin, tan, cot, cosh,
sinh, tanh, coth, exp, log, log10, power, sign, sqrt, square, ceil, floor, pi, replicate, charindex,
leftstr, rightstr, reverse, proper, padl, padr, padc, strfilter, and aggregates stdev, variance,
mode, median, lower_quartile, upper_quartile.
Moved the last_rows_affected() function to the C extension library.
Added a new class, SQLiteFunctionEx which extends SQLiteFunction and adds the ability for a
user-defined function to get the collating sequence during the Invoke/Step methods. User-
defined functions can use the collating sequence as a helper to compare values.
When registering user-defined collation sequences and functions, the provider will now register
both a UTF8 and a UTF16 version instead of just UTF8.
Revamped connection pooling and added static ClearPool() and ClearAllPools() functions to
SQLiteConnection. Behavior of the pool and its clearing mechanics match SqlClient.
Fixed connections going to the pool so that any unfinalized lingering commands from un-collected
datareaders are automatically reset and any lurking transactions made on the connection are
rolled back.
Transaction isolation levels are now partially supported. Serializable is the default, which obtains
read/write locks immediately -- this is compatible with previous releases of the provider.
Unspecified will default to whatever the default isolation mode is set to, and ReadCommitted will
cause a deferred lock to be obtained. No other values are legal.
Revamped the test.exe program. It's now an interactive GUI application. Easier for me to add
tests now.
Tweaks to the VS designer package and installer.
More adjustments to the internal SQLite3.Prepare() method to account for both kinds of lock
errors when retrying.
Stripped a lot of unnecessary interop() calls and replaced with base sqlite calls. Revamped most
of UnsafeNativeMethods to make it easier to port the code.
Rerigged internal callbacks for userdef functions and other native to managed callbacks. More
portable this way.
Source can now can be compiled with the SQLITE_STANDARD preprocessor symbol to force the
wrapper to use the stock sqlite3 library. Some functionality is missing, but its minimal. None of
the precompiled binaries are compiled using this setting, but its useful for testing portability.
Added "boolean" and a couple other missing datatypes to the "DataTypes" schema xml file. Used
by the VS designer when displaying tables and querying.
Added a new connection string option "Read Only". When set to True, the database will be
opened in read-only mode.
Added a new connection string option "Max Pool Size" to set the maximum size of the
connection pool for a given db file connection.
Added a new connection string option "Default IsolationLevel" to set the default isolation level of
transactions. Possible values are Serializable and ReadCommitted.
Added a new connection string option "URI" as an optional parameter for compatibility with other
ports of the provider.
1.0.54.0 - July 25, 2008
Fixed the setup project, which somehow "forgot" to include all the binaries in the 53 release.
Fixed a crash in the table designer when creating a new table and tabbing past the "Allow Nulls"
cell in the grid while creating a new column.
Fixed a mostly-benign bug in SQLiteDataReader's GetEnumerator, which failed to pass along a
flag to the underyling DbEnumerator it creates. This one's been around since day 1 and nobody's
noticed it in all these years.
Added a new connection string parameter "Journal Mode" that allows you to set the SQLite
journal mode to Delete, Persist or Off.
1.0.53.0 - July 24, 2008
Enabled sqlite_load_extension
Added retry/timeout code to SQLite3.Prepare() when preparing statements for execution and a
SQLITE_BUSY error occurs.
Added a new schema to SQLiteConnection.GetSchema() called Triggers. Used to retrieve the
trigger(s) associated with a database and/or table/view.
Extensive updates to table/view editing capabilities inside Visual Studio's Server Explorer. The
program now parses and lets you edit CHECK constraints and triggers on a table, as well as
define triggers on views. Experimental still, so e-mail me if you have issues.
Minor bugfix to the ViewColumns schema to return the proper base column name for a view that
aliases a column.
Fixed the insert/update/delete DML support in the Linq module.
Changed the behavior of SQLiteCommand to allow a transaction to be set even if the command
hasn't been associated with a connection yet.
1.0.52.0 - July 16, 2008
Code merge with SQLite 3.6.0
Added a lot of previously-missing exports to the DEF file for the native library.
Fixed SQLiteDataReader to check for an invalid connection before operating on an open cursor.
Implemented the Cancel() function of SQLiteCommand to cancel an active reader.
Added beta table and view designers to the Visual Studio Server Explorer. You can now
edit/create tables and views, manage indexes and foreign keys from Visual Studio. This feature is
still undergoing testing so use at your own risk!
Fixed the Server Explorer so VS2005 users can once again right-click tables and views and open
the table data.
Added some new interop code to assist in returning more metadata not normally available
through the SQLite API. Specifically, index column sort modes and collating sequences. Also
added code to detect (but not parse) CHECK constraints, so the table designer can pop up a
warning when editing a table with these constraints. Since I can't currently parse them.
Lots of LINQ SQL generation improvements and fixes.
Made some progress cleaning up and fixing up the schema definitions and manifests for EdmGen.
Added a built-in SQLiteFunction called last_rows_affected() which can be called from SQL to get
the number of rows affected by the last update/insert operation on the connection. This is
roughly equivalent to Sql Server's @@ROWCOUNT variable.
1.0.51.0 - July 1, 2008
VS2008 SP1 Beta1 LINQ Support
Added experimental Entity Framework support in a new library, System.Data.SQLite.Linq. Some
things work, some don't. I haven't finished rigging everything up yet. The core library remains
stable. All LINQ-specific code is completely separate from the core.
Added some columns to several existing schemas to support some of the EDM framework stuff.
Minor tweaks to the factory to better support dynamic loading of the Linq extension library for
SQLite.
SQLite's busy handler was interfering with the provider's busy handling mechanism, so its been
disabled.
1.0.50.0 - June 27, 2008
Fixed some lingering dispose issues and race conditions when some objects were finalized.
Fixed the SQLiteConvert.Split() routine to be a little smarter when splitting strings, which solves
the quoted data source filename problem.
Enhanced the mergebin utility to work around the strong name validation bug on the Compact
Framework. The old workaround kludged the DLL and caused WM6.1 to fail to load it. This new
solution is permanent and no longer kludges the DLL.
1.0.49.0 - May 28, 2008
Code merge with SQLite 3.5.9
Fixed schema problems when querying the TEMP catalog.
Changed BLOB datatype schema to return IsLong = False instead of True. This was preventing
DbCommandBuilder from using GUID's and BLOB's as primary keys.
Fix rollover issue with SQLite3.Reset() using TickCount.
Fixed SQLiteDataReader to dispose of its command (if called for) before closing the connection
(when flagged to do so) instead of the other way around.
Fixed a DbNull error when retrieving items not backed by a table schema.
Fixed foreign key constraint parsing bug.
Added FailIfMissing property to the SQLiteConnectionStringBuilder.
Converted the source projects to Visual Studio 2008.
1.0.48.0 - December 28, 2007
Code merge with SQLite 3.5.4
Calling SQLiteDataReader.GetFieldType() on a column with no schema information and whos first
row is initially NULL now returns type Object instead of type DbNull.
Added support for a new DateTime type, JulianDay. SQLite uses Julian dates internally.
Added a new connection string parameter "Default Timeout" and a corresponding method on the
SQLiteConnection object to change the default command timeout. This is especially useful for
changing the timeout on transactions, which use SQLiteCommand objects internally and have no
ADO.NET-friendly way to adjust the command timeout on those commands.
FTS1 and FTS2 modules were removed from the codebase. Please upgrade all full-text indexes
to use the FTS3 module.
1.0.47.2 - December 10, 2007
Fixed yet one more bug when closing a database with unfinalized command objects
Fixed the DataReader's GetFieldType function when dealing with untyped SQLite affinities
1.0.47.1 - December 5, 2007
Fixed a leftover bug from the codemerge with SQLite 3.5.3 that failed to close a database.
Fixed the broken Compact Framework distribution binary.
SQLite 3.5.x changed some internal infrastructure pieces in the encryption interface which I didn't
catch initially. Fixed.
1.0.47.0 - December 4, 2007
Code merge with SQLite 3.5.3
Added installer support for Visual Studio 2008. Code is still using the VS2005 SDK so one or two
bells and whistles are missing, but nothing significant.
This is the last version that the FTS1 and FTS2 extensions will appear. Everyone should rebuild
their fulltext indexes using the new FTS3 module. FTS1 and FTS2 suffer from a design flaw that
could cause database corruption with certain vacuum operations.
Fixed pooled connections so they rollback any outstanding transactions before going to the pool.
Fixed the unintended breaking of the TYPES keyword, and mis-typing of untyped or indeterminate
column types.
Assert a FileIOPermission() requirement in the static SQLiteFunction constructor.
The CE-only SQLiteFunction.RegisterFunction() is now available on the desktop platform for
dynamic registration of functions. You must still close and re-open a connection in order for the
new function to be seen by a connection.
Fixed the "database is locked" errors by implementing behavioral changes in the interop.c file for
SQLite. Closing a database force-finalizes any prepared statements on the database to ensure
the connection is fully closed. This was rather tricky because the GC thread could still be finalizing
statements itself.
Modifed the mergebin utility to help circumvent a long-standing strong name verification bug in
the Compact Framework.
1.0.46.0 - September 30, 2007
Fixed faulty logic in type discovery code when using SQLiteDataReader.GetValue().
Fixed Connection.Open() bug when dealing with :memory: databases.
Fixed SQLiteCommand.ExecuteScalar() to return a properly-typed value.
Added support for SQLiteParameter.ResetDbType().
Added test cases for rigid and flexible type testing.
1.0.45.0 - September 25, 2007
Breaking change in GetSchema("Indexes") -- MetaDataCollections restrictions and identifier
parts counts were wrong for this schema and I was using the wrong final parameter as the final
restriction. Meaning, if you use the Indexes schema and are querying for a specific index the
array should now be {catalog, null, table, index } instead of {catalog, null, table, null, index}
Fixed some errors in the encryption module, most notably when a non-default page size is
specified in the connection string.
Fixed SQLiteDataReader to better handle type-less usage scenarios, which also fixes problems
with null values and datetimes.
Fixed the leftover temp files problem on WinCE
Added connection pooling. The default is disabled for now, but may change in the future. Set
"Pooling=True" in the connection string to enable it.
Sped up SQLiteConnection.Open() considerably.
Added some more robust cleanup code regarding SQLiteFunctions.
Minor additions to the code to allow for future LINQ integration into the main codebase.
Fixed a long-standing bug in the Open() command of SQLiteConnection which failed to honor the
documented default behavior of the SQLite.NET provider to open the database in
"Synchronous=Normal" mode. The default was "Full".
If Open() fails, it no longer sets the connection state to Broken. It instead reverts back to
Closed, and cleans up after itself.
Added several new parameters to the ConnectionString for setting max page count, legacy file
format, and another called FailIfMissing to raise an error rather than create the database file
automatically if it does not already exist.
Fixed some designer toolbox references to the wrong version of the SQLite.Designer
Fixed a bug in the mergebin utility with regards to COR20 metadata rowsize computations.
Minor documentation corrections
1.0.44.0 - July 21, 2007
Code merge with SQLite 3.4.1
Fixed a bug in SQLiteConnection.Open() which threw the wrong kind of error in the wrong kind of
way when a database file could not be opened or created.
Small enhancements to the TYPES keyword, and added documentation for it in the help file.
Hopefully fixed the occasional SQLITE_BUSY errors that cropped up when starting a transaction.
Usually occurred in high-contention scenarios, and the underlying SQLite engine bypasses the
busy handler in this scenario to return immediately.
1.0.43.0 - June 21, 2007
Code merge with SQLite 3.4.0
Fixed a reuse bug in the SQLiteDataAdapter in conjunction with the SQLiteCommandBuilder. It's
been there unnoticed for more than a year, so it looks like most folks never encountered it.
Fixed an event handler bug in SQLiteCommandBuilder in which it could fail to unlatch from the
DataAdapter when reused. Relates to the previous bugfix.
Fixed a double-dispose bug in SQLiteStatement that triggered a SQLiteException.
1.0.42.0 - June 1, 2007
Code merge with SQLite 3.3.17
Changed the SQLiteFunction static constructor so it only enumerates loaded modules that have
referenced the SQLite assembly, which hopefully should cut down dramatically the time it takes
for that function to execute.
Added the FTS2 full-text search extension to the project. Look for FTS1 to disappear within the
next couple of revisions.
Fixed a bug introduced with the finalizers that triggered an error when statements ended with a
semi-colon or had other non-parsable comments at the end of a statement
Fixed an intermittent multi-threaded race condition between the garbage collector thread and the
main application thread which lead to an occasional SQLITE_MISUSE error.
Fixed another issue relating to SQLite's inherent typelessness when dealing with aggregate
functions which could return Int64 or Double or even String for a given row depending on what
was aggregated.
Remembered to recompile the DDEX portion of the engine this time, so Compact Framework
users can once again use the design-time functionality
1.0.41.0 - April 23, 2007
Code merge with SQLite 3.3.16
Second go at implementing proper finalizers to cleanup after folks who've forgotten to Dispose()
of the SQLite objects
Enhanced GetSchema(IndexColumns) to provide numeric scale and precision values
Fixed the column ordinals in GetSchema(IndexColumns) to report the ordinal of the column in
the index, not the table
Fixed a bug whereby parameters named with an empty string (such as String.Empty) were
treated like a named parameter instead of an unnamed parameter
1.0.40.0 - January 31, 2007
Code merge with SQLite 3.3.12
Lots of new code to handle misuse of the library. Implemented finalizers where it made sense,
fixed numerous garbage collector issues when objects are not disposed properly, fixed some
object lifetime issues, etc.
A failed Commit() on a transaction no longer leaves the transaction in an unusable state.
1.0.39.1 - January 11, 2007
Fixed a really dumb mistake that for some reason didn't trigger any errors in the testcases,
whereby commands when associated with a connection were not adding or removing
themselves from an internal list of commands for that connection -- causing a "database is
locked" error when trying to close the connection.
1.0.39.0 - January 10, 2007
Code merge with SQLite 3.3.10
Fixed a multi-threaded race condition bug in the garbage collector when commands and/or
connections are not properly disposed by the user.
Switched the encryption's internal deallocation code to use sqlite's built-in aux functions instead
of modifying the pager.c source to free the crypt block. This eliminates the last of the code
changes the provider makes to the original sqlite engine sources. Props to Ralf Junker for
pointing that out.
1.0.38.0 - November 22, 2006
Fixed a bug when using CommandBehavior.KeyInfo whereby integer primary key columns may be
duplicated in the results.
Enhanced the CommandBuilder so that update/delete statements are optimized when the
affected table contains unique constraints and a primary key is present.
Fixed a bug in the DataReader when used in conjunction with
CommandBehavior.CloseConnection.
1.0.37.0 - November 19, 2006
Added support for CommandBehavior.KeyInfo. When specified in a query, additional column(s)
will be returned describing the key(s) defined for the table(s) selected in the query. This is
optimized when INTEGER PRIMARY KEY is set for the given tables, but does additional work for
other kinds of primary keys.
Removed the default values from SQLiteDataReader.GetTableSchema(), to better follow Sql
Server's pattern and suppress schema errors when loading the records into a dataset/datatable.
Allow integers to implicitly convert to double/decimal/single.
1.0.36.1 - October 25, 2006
Added support for LONGVARCHAR, SMALLDATE and SMALLDATETIME. These were actually added
in 1.0.36.0 but were undocumented.
Fixed the embedded helpfile which was accidentally built from old sources.
Fixed an unfortunate re-entry of a bug in the .36 codebase that caused the provider to "forget"
about commands on a connection under certain circumstances.
1.0.36.0 - October 23, 2006
Code merge with SQLite 3.3.8, including support for full-text search via the FTS1 extension.
Fixed a bug retrieving data types when UseUtf16Encoding is true. Side-effect of further merging
the common code between the two base classes.
Fixed a bug with System.Transactions whereby a connection closed/disposed within a transaction
scope is rolled back and cannot be committed.
Added more error checking and reporting to transactions to help user's isolate the source of
transaction failures.
Implemented a workaround for a Compact Framework issue regarding strong-named assemblies
containing a PE section with a raw size less than the virtual size.
1.0.35.1 - September 12, 2006
Fixed the TYPES keyword to work when UseUTF16Encoding is true.
Fix another bug revealed in 1.0.35.0 regarding infinite loops when the 2nd or subsequent
statements of a semi-colon separated command cannot be parsed.
Updated the help documentation.
1.0.35.0 - September 10, 2006
Fixed an infinite loop bug in SQLiteCommand caused when multiple semi-colon separated
statements in a single command are executed via datareader and one of the statements
contains a syntax error preventing it from being prepared.
Added the TYPES preparser keyword to be placed before a SELECT statement to aid the wrapper
in converting expressions in a subsequent select clause into more robust types. Documentation
yet to be integrated, but available on the forums.
Added a new connectionstring parameter "BinaryGUID=true/false" (default is "true"). When true,
guid types are stored in the database as binary blobs to save space. Binary has been the default
format since 1.0.32.0 but this parameter eases backward compatibility.
1.0.34.0 - September 4, 2006
Fixed a bug in SQLiteParameterCollection.RemoveAt(namedparam)
Fixed a bug in SQLiteDataReader introduced in 1.0.30 that broke DateTimes using the Ticks
option in the connection string.
Fixed a bug in the recent changes to guid behavior wherein using a datareader's indexer to fetch
a guid from a column containing both binary and text guids would sometimes return a byte array
instead of a guid.
Enacted a workaround involving typed datasets in Compact Framework projects in which it took
an excessive amount of time to open a form and generated a lot of temporary files in the user's
Local Settings\Application Data\Microsoft\VisualStudio\8.0\Assembly References folder.
1.0.33.0 - August 21, 2006
Code merge with SQLite 3.3.7
Fixed a bug in SQLiteConnection that caused it to "forget" about commands bound to it and
occasionally throw an error when a database is closed and opened repeatedly.
1.0.32.0 - August 6, 2006
Added AllowPartiallyTrustedCallers attribute to the assembly
Added the missing "nchar" type
Added support for binary Guid's. Guids are now stored as binary by default when using
parameterized queries. Text guids are still fully supported.
Fixed a TransactionScope() error that caused the transaction not to be completed.
Enhanced parameter names so that if they are added to the Parameters collection without their
prefix character (@ : or $) they are still properly mapped.
1.0.31.0 - July 16, 2006
Re-applied the view parsing bugfix in 1.0.29.0 that was accidentally reverted out of the 30 build.
Fixed SQLiteCommand.ExecuteScalar() to return null instead of DbNull.Value when no rows were
returned.
Design-time installer now installs the package-based designer on full Visual Studio versions.
Express editions continue to use the packageless designer.
In Visual Studio (not Express), you can now right-click a SQLite connection in the Server Explorer
and vacuum the database and change the encryption password.
1.0.30.1 - July 2, 2006
Code merge with SQLite 3.3.6
Added support for the |DataDirectory| keyword in the Data Source filename string.
Added hook notification support to SQLiteConnection. Specifically, there are three new events on
the SQLiteConnection object which are raised when an update/insert/delete occurs and when
transactions are committed and rolled back.
Changed SQLiteTransaction to default to BEGIN IMMEDIATE instead of just BEGIN, which solves a
multithreaded race condition.
Changed SQLiteDataReader to better support SQLite's typelessness. The data reader no longer
caches column affinity, but re-evaluates it for each column/row.
Fixed a bug in Prepare() which caused an intermittant fault due to the code accessing the
memory of an unpinned variable.
Fixed a multithreaded lock-retry bug in in SQLiteConnection.Open() and in SQLiteTransaction,
which failed to use a command timeout before giving up.
1.0.29.0 - May 16, 2006
Fixed a bug in the Views schema information which caused multi-line view definition statements
not to be parsed
Fixed a parsing bug in SQLiteDataReader.GetSchemaTable() to account for numeric(x,y)
datatypes with specified precision and scale
Fixed a bug in SQLiteConnection.Open() which tried to automatically enlist in an ambient
transaction but had not yet set the state of the database to Opened, thereby causing a
transaction fault
Changed SQLiteException to inherit from DbException on the full framework
1.0.28.0 - April 14, 2006
Code merge with SQLite 3.3.5
You can now specify a relative path in the Compact Framework's "Data Source" by prefixing the
file with ".\". i.e. "Data Source=.\\mydb.db3"
Several more changes and enhancements to schemas for better compatibility.
Fixed several bugs with the 64-bit builds of the provider. The x64 binary is now optimized.
Design-time installer now tries to install the 64-bit builds into the GAC along with the 32-bit build.
Fixed a bug in the SQLiteDataReader.GetSchemaTable() function when used with tables containing
apostrophes.
Fixed an XSD-related bug whereby the XSD utility was unable to locate the provider and could not
generate typed datasets.
Added NTEXT and STRING datatypes to the list of recognized keywords (used for schema
retrieval).
Due to the XSD bug and other potential problems related to external build utilities, changes to the
installation of the designer have had to be made. The installer used to write the
DbProviderFactories XML into the devenv.exe.config file and its express cousins, but now has to
write instead to the machine.config.
Installer writes to both the 32-bit machine.config and the 64-bit machine.config if it exists.
1.0.27.1 - February 28, 2006
Fixed a bug when doing data binding in Compact Framework projects that prevented you from
assigning a typed dataset to a bindingsource. It turns out, the CF version of the SQLite provider
needs to be flagged as retargetable so it'll work in the design-time desktop environment. No
changes were made to the desktop build, but the revision was bumped on all libraries anyway in
order to keep them sync'd.
1.0.27.0 - February 27, 2006
Many optimizations and a few more minor adjustments to schemas and schema retrieval
performance.
Lots of design-time attributes added to the code. The DbDataAdapter, DbCommand, and
DbConnection objects now have greatly enhanced design-time capabilities when added to the
toolbox and dropped on a form.
Lots of Server Explorer enhancements.
Binaries are now distributed in a setup program for easier administration and configuration of the
provider.
1.0.26.2 - February 15, 2006
Yet another bugfix to index schemas, which was incorrectly marking most indexes as primary key
indexes.
Fixed GetSchema() to accept a null string array.
Fixed a misspelled export in the core C library that prevented databases opened with
UTF16Encoding from getting schema information and would likely cause an error if attempted.
1.0.26.1 - February 14, 2006
Fixed even more minor schema bugs having to do with indexes.
Added two missing pieces in the SQLite designer which were preventing it from being used from
within VS Express editions.
Several bugfixes to the design-time installer program, including supporting 64-bit environments.
1.0.26.0 - February 11, 2006
Code merge with SQLite 3.3.4
Fixed an encryption bug when changing the password of databases over 1gb in size.
Fixed various designer issues related to construction of named parameters.
Retooled the GetSchema() method of SQLiteDataReader to use the new 3.3.4 API functions, and
made several enhancements and fixes to schemas.
Implemented the SourceColumnNullMapping property of SQLiteParameter to fix a
DbCommandBuilder code generation bug.
Removed the runtime dependency on MSVCR80.DLL. File size is somewhat larger for the varying
desktop versions, but the Compact Framework version remains the same.
Created an install program to manage installation and uninstallation of the SQLite design-time
support.
Designer support now works for all Visual Studio editions, including all Express Editions.
Design-time installer will now remove (if present) the machine.config SQLite entries in favor of
installing the xml code into the devenv.exe.config file (or any of the variations for express
editions). The officially-accepted behavior of using DbProviderFactories is to add the code to
your app.config file, and the machine.config file should not be touched.
1.0.25.0 - January 31, 2006
Code merge with SQLite 3.3.3
Added automatic distributed transaction enlistment and implemented the
DbConnection.EnlistTransaction method for manual enlistment.
Nested transactions are now supported.
Rearranged the timing of SetPassword(), which now must be called before the database is
opened instead of afterwards. Optionally, the password can be supplied in the ConnectionString.
Fixed a bug in SQLiteFunction that caused a failure when an empty resultset was returned and a
custom user aggregate function was used in the query.
The designer has had another round of cleanup applied, in preparation for moving to a VS
package.
Added SQLiteMetaDataCollectionNames class.
1.0.24.6 beta - January 23, 2006
This beta is built from sqlite.org's 3.3.2 beta.
Eliminated the static linking of mscoree from all binaries. Native projects can now use the library
without any dependencies on the .NET Framework, while managed projects continue to be able
to use the library normally.
1.0.24.5 beta - January 20, 2006
This beta is built from sqlite.org's 3.3.1 alpha and contains development-in-progress code.
Therefore no guarantees can be made regarding its suitability for production use.
You no longer need to distribute 2 files on the CompactFramework. You can delete
SQLite.Interop.DLL entirely. I wrote a custom tool called "mergebin" (available in the source
zip file) which combines the two libraries and gets around a glaring defect in the VS2005 linker for
ARM processors which doesn't allow you to link netmodules.
x64 and ia64 builds now use the same strong name as the x86 build. This means
breaking backward compatibility, but it was necessary in order to allow you to drop any of those
3 builds onto a PC and have your .NET program run properly. Prior to this, you'd get an error if
you built your program using the x86 build, and then installed the x64 version on a target
machine and tried to run your program against it.
The entire source project has been gone over top to bottom. A debug build no longer combines
the binaries into a single module, which was preventing proper debugging.
1.0.24.4 beta - January 16, 2006
This beta is built from sqlite.org's 3.3.1 alpha and contains development-in-progress code.
Therefore no guarantees can be made regarding its suitability for production use.
Fixed a bug in the UTF-16 handling code for preparing statements due to a behavioral change in
SQLite 3.3.0.
Added pager.c code necessary to cleanup after an encrypted file is closed.
Fixed an encryption bug that caused a fault when an encrypted file was rolled back.
Modified the testcase code to take advantage of optimizations regarding the use of a
DbCommandBuilder. DataAdapter insert speed increased dramatically as a result.
1.0.24.3 beta - January 10, 2006
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. Therefore no guarantees can be made regarding its
suitability for production use.
Added support for database encryption at the pager level. Databases are encrypted using a 128-
bit RC4 stream algorithm. 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. To
encrypt existing non-encrypted databases or to change the password on an encrypted database,
you must use the SQLiteConnection.ChangePassword() function. 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.
Rewrote the locking implementation for the Compact Framework. It is now more robust and
incorporates into the SQLite codebase more efficiently than the previous CE adaptation.
Moved some of the embedded schema XML data into a resource file to ease code readability.
Automated the fixup of the original sqlite codebase's source prior to compiling, to ease merging
with sqlite.org's source.
1.0.24.2 - December 30, 2005
Fixed the SQLiteDataReader.HasRows property to return the proper value.
Implemented the inadvertently neglected RecordsAffected property on SQLiteDataReader.
SQLiteFunction static constructor was changed to pre-filter classes with only the
SQLiteFunctionAttribute. The code was throwing an exception when certain assemblies were
referenced in a project.
Fixed the SQLiteDataAdapter OnRowUpdated event, which was using the wrong variable to find
the attached event handler and subsequently not raising the event.
Small optimizations and fixes to SQLiteDataReader.NextResult().
1.0.24.1 - December 19, 2005
Update core SQLite engine to 3.2.8
1.0.24 - December 9, 2005
Fixed the Catalogs schema bug that caused attached databases not to be re-attached to a
cloned connection
Enhanced transactions to allow for a deferred or immediate writelock.
SQLiteConnection.BeginTransaction() now has an additional overload to support it
Commands are now prepared as they are executed instead of beforehand. This fixes a bug
whereby a multi-statement command that alters the database and subsequently references the
altered data would fail during Prepare().
Tightened up the SQLiteDataReader to prevent reading columns before calling the first Read() and
to prevent reading columns after the last Read().
A more descriptive error is thrown if there aren't enough parameters in the command to satisfy
the parameters required by the statement(s).
1.0.23 - November 21, 2005
Named parameters may now begin with @ to ease portability of the provider. SQLite's named
parameters are ordinarily prefixed with a : or $. The designer will still use the $ prefix however,
since its more compatible with the default SQLite engine.
Added several alternate ISO8601 date/time formats to SQLiteConvert.cs to increase
compatibility.
Relaxed coersion restrictions to work better with SQLite's inherent typelessenss.
1.0.22 - November 11, 2005
Fixed some globalization issues which resulted in incorrect case-insensitive comparisons
Fixed a bug in the routine that finds all user-defined functions in a loaded assembly. It would
throw an exception if any of the types in the assembly could not be loaded. The exception is
now caught and handled appropriately.
1.0.21 - November 4, 2005
Fixed a designer bug when creating typed datasets with parameterized queries.
The above fix then exposed another bug in the datareader's ability to query schema information
on parameterized commands, which was also fixed.
Compiled against the RTM version of VS2005.
Rewrote the design-time install script to use the XML DOM objects when writing to the
machine.config and to automatically register the DLL in the GAC.
Made changes to the app.config descriptions and help file to improve version-independent factory
support.
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
Code merge with SQLite 3.2.7
Fixed bugs in the CE port code (os_wince.c) which were brought to light by recent changes in the
SQLite engine.
Recompiled and modified to be compatible with the September VS2005 Release Candidate.
Beta 2 users should continue to use 1.0.18.1
1.0.18.1 - September 19, 2005
Code merge with SQLite 3.2.6
1.0.18 - September 1, 2005
Added type-specific method calls when using the various SQLite classes that would've normally
returned a a generic Db base class, which aligns the code better with the Microsoft-supplied data
providers.
1.0.17 - August 26, 2005
Code merge with SQLite 3.2.5
Added Itanium and x64 build settings to the project (needs testing)
Bugfixes and enhancements to several schema types
Additional design-time support to include index and foreign key enumerations. Requires re-
registering the designer using INSTALL.CMD. The new designer code now allows the VS query
designer and typed datasets to automatically link up foreign keys, use indexes, and automatically
generate relationships from the schema.
Additional static methods on SQLiteConnection to create a database file, encrypt a file using the
Encrypted File System (EFS) on NTFS (requires NT 2K or above) and NTFS file compression
1.0.16 - August 24, 2005
Code merge with SQLite 3.2.4 with the large delete bugfix in CVS (which will become 3.2.5 soon)
Added new GetSchema() types: IndexColumns, ViewColumns, ForeignKeys
1.0.15 - August 22, 2005
Code merge with SQLite 3.2.3
Minor updates for better design-time experience. More design-time code to follow in subsequent
releases.
1.0.14 - August 16, 2005
Fixed a bug in the SQLiteDataAdapter due to insufficient implementation of the class. The
RowUpdating and RowUpdated events are now properly implemented, but unfortunately inserting
and updating data in a DataTable or DataSet is now much slower. This is the proper design
however, so the changes are here to stay.
Lots of schema changes to support Visual Studio's Data Designer architecture.
Added Designer support for the provider. It's not 100%, but you can design queries, add typed
datasets and perform quite a number of tasks all within Visual Studio now.
1.0.13 - August 8, 2005
Fixed a named parameter bug in the base SQLite_UTF16 class, which of course only showed up
when a database connection was opened using the UseUTF16Encoding=True parameter.
Fixed a performance issue in SQLite_UTF16 involving string marshaling.
1.0.12 - August 5, 2005
Full support for the Compact Framework. Each build (Debug/Release) now has a platform, either
Win32 or Compact Framework. The correct projects are built accordingly. See the Distributing
SQLite section for information on what files need to be distributed for each platform.
Modified SQLite3.Reset() and Step() functions to transparently handle timeouts while waiting on
the database to become available (typically when a writer is waiting on a reader to finish, or a
reader is waiting on a writer to finish).
Lots of code cleanup as suggested by the Code Analyzer (FxCop).
Lots of updates to the helpfile (as you can see).
Statements were already prepared lazily in a SQLiteCommand, but now its even more lazy.
Statements are now only prepared if the statements haven't been previously prepared and a
Prepare() function is called (and the command is associated with a connection) or just prior to
the command being executed.
1.0.11 - August 1, 2005
For everything except the Compact Framework, System.Data.SQLite.DLL is now the
only DLL required to use this provider! The assembly is now a multi-module assembly,
containing both the native SQLite3 codebase and the C# classes built on top of it. The Compact
Framework version (when completed) will not be able to support this feature, so backwards
compatibility with the Compact Framework has been preserved for the future.
Fixed a bug in SQLiteCommand.ExecuteScalar() that caused it to stop executing commands once
it obtained the first column of the first row-returning resultset. Any remaining statements after
the row-returning statement was ignored.
1.0.10 - June 10, 2005
Fixed a bug in the SQLite3.cs Prepare() function that created a statement even when the SQLite
engine returned a NULL pointer. Typically this occurs when multiple statements are processed and
there are trailing comments at the end of the statement.
Fixed a bug in SQLiteStatement.cs that retrieved parameter names for a parameterized query.
SQLite's parameters are 1-based, and the function was starting at 0. This was fine when all
parameters were unnamed, but for named parameters it caused the parameters to be out of
whack.
1.0.09a - May 25, 2005
Fixed a broken helpfile and corrected some obsolete help remarks in SQLiteFunction.cs
Added a version resource to the SQLite.Interop.DLL.
1.0.09 - May 24, 2005
Code merge with the latest 3.21 version of SQLite.
Removed obsolete methods and properties for Whidbey Beta 2
1.0.08 Refresh - Mar 24, 2005
Code merge with the latest 3.20 version of SQLite.
Recompiled the help file to fix a build error in it.
1.0.08 - Mar 11, 2005
Added additional #if statements to support the old beta 1 edition of VS2005.
Code merged the SQLite 3.14 source.
1.0.07 - Mar 5, 2005
Made more optimizations to frequently-called functions, resulting in significant performance gains
in all tests.
Recompiled the binaries using the latest VS2005 February CTP, resulting in yet more significant
speed gains. The 100k insert test used to take 3.5 seconds and the insertwithidentity took
almost 8 seconds. With the above two changes, those tests are now executing in 1.9 and 4.9
seconds respectively.
1.0.06 - Mar 1, 2005
Speed-ups to SQLiteDataReader. It was interop'ing unnecessarily every time it tried to fetch a
field due to a logic error.
Changed/Added some code to SQLiteConvert's internal DbType, Type and TypeAffinity functions.
Fixed the SQLiteDataReader to obey the flags set in the optional CommandBehavior flag from
SQLiteCommand.ExecuteReader().
Changed the default page size to 1024 to reflect the defaults of SQLite. Ignores the "Page Size"
connection string option for memory databases, as tests revealed that changing it resulted in
memory corruption errors.
Performance enhancements to the SQLiteCommand and SQLiteStatement classes which reduced
the 100,000 row insert execution time as well as the various Function execution times
significantly.
1.0.05 - Feb 25, 2005
Fixed the SQLite3 C# class step/reset functions to accomodate schema changes that invalidate a
prepared statement. Statements are recompiled transparently.
Moved all native DLL declarations to an UnsafeNativeMethods class.
Split several classes into their own modules for readability.
Renamed many internal variables, reviewed access to variables marked as internal and altered
their protection levels accordingly.
Due to the presence of the altered sqlite3 codebase and so many added interop functions, I
decided to rename the sqlite3 C project and the DLL to SQLite.Interop.DLL. This is the same core
sqlite3 codebase but designed specifically for this ADO.NET provider. This eliminates any
possibility of someone dropping another build of sqlite3.dll into the system and rendering the
provider inoperable. In the future if the folks at sqlite.org finally introduce a method of retrieving
column usage for an arbitrary prepared statement, I'll retool this library to be a lightweight
function call wrapper around the core binary distribution.
Added [SuppressUnmanagedCodeSecurity] attribute to the UnsafeNativeMethods class which
brings VS2005 November CTP execution speeds inline with the December CTP.
Added a bin directory to the project root where pre-compiled binaries can be found.
Added a doc directory where preliminary documentation on the class library can be found.
Documented a lot more of the classes internally.
1.0.04 - Feb 24, 2005
Removed the SQLiteContext class and revamped the way UserFunctions work to simplify the
imlementation.
Fixed a counting bug in the TestCases class, specifically in the function tests where I wasn't
resetting the counter and it was consequently reporting intrinsic and raw select calls as being
much much faster than they actually were. The numbers are now much closer to what I
expected for performance, with .NET user-functions still being the slowest, but only by a small
margin.
Small performance tweaks to SQLiteDataReader.
Added PageSize to the SQLiteConnectionStringBuilder and subsequently to the SQLiteConnection
Added a PRAGMA encoding=XXX execution statement to the SQLiteConnection after opening a
connection.
1.0.03 - Feb 23, 2005
Fixed up SQLiteCommandBuilder to correct implementation errors, which resulted in an
enormous performance boost in the InsertMany test. 10,000 row insert that executed in
1500ms now executes in 500ms.
Fixed several errors in the SQLite3_UTF16 class. ToString() was working incorrectly and the
Open() method failed to register user defined functions and collations.
Fixed a bug in SQLiteCommand.ClearCommands() whereby only the first statement was being
properly cleaned up.
Fixed a bug in SQLiteDataReader whereby calling NextResult() would not properly reset the
previously-executed command in the sequence.
Added an InsertManyWithIdentityFetch test, which appends a select clause to populate the ID of
the last inserted row into the InsertCommand, demonstrating ADO.NET's ability to auto-fetch
identity columns on insert.
1.0.02 - Feb 21, 2005
Tweaks to the xxx_interop functions that return char *'s, so they also return the length. Saves
an interop call to get the UTF-8 string length during conversion to a .NET string.
Reworked the whole interop.c thing into interop.h and reduced the code required to merge the
main sqlite3 codebase.
Added support for user-defined collations.
sql-stmt-list:
sql-stmt:
Small. Fast. Reliable.
Choose any three.
Home Menu About Documentation Download
License Support Purchase Search
SQL As Understood By SQLite
[Top]
Aggregate Functions
The aggregate functions shown below are available by
default. Additional aggregate functions written in C
may be added using the sqlite3_create_function() API.
avg(X)
count(X)
count(*)
group_concat(X)
group_concat(X,Y)
max(X)
min(X)
sum(X)
total(X)
alter-table-stmt: hide
column-def: show
2. Start a transaction.
1. Start a transaction.
analyze-stmt: hide
attach-stmt: hide
expr: show
comment-syntax: hide
conflict-clause: hide
ROLLBACK
ABORT
FAIL
IGNORE
REPLACE
abs(X)
changes()
coalesce(X,Y,...)
glob(X,Y)
hex(X)
ifnull(X,Y)
instr(X,Y)
last_insert_rowid()
length(X)
like(X,Y)
like(X,Y,Z)
likelihood(X,Y)
likely(X)
load_extension(X)
load_extension(X,Y)
lower(X)
ltrim(X)
ltrim(X,Y)
max(X,Y,...)
min(X,Y,...)
printf(FORMAT,...)
quote(X)
random()
randomblob(N)
hex(randomblob(16))
lower(hex(randomblob(16)))
replace(X,Y,Z)
round(X)
round(X,Y)
rtrim(X)
rtrim(X,Y)
soundex(X)
sqlite_compileoption_used(X)
sqlite_source_id()
sqlite_version()
substr(X,Y,Z)
substr(X,Y)
total_changes()
trim(X)
trim(X,Y)
typeof(X)
unicode(X)
unlikely(X)
upper(X)
zeroblob(N)
create-index-stmt: hide
expr: show
indexed-column: show
create-table-stmt: hide
column-def: show
select-stmt: show
table-constraint: show
Column Definitions
create-trigger-stmt: hide
delete-stmt: show
expr: show
insert-stmt: show
select-stmt: show
update-stmt: show
raise-function:
create-view-stmt: hide
select-stmt: show
create-virtual-table-stmt: hide
%d day of month: 00
%f fractional seconds: SS.SSS
%H hour: 00-24
%j day of year: 001-366
%J Julian day number
%m month: 01-12
%M minute: 00-59
%s seconds since 1970-01-01
%S seconds: 00-59
%w day of week 0-6 with Sunday==0
%W week of year: 00-53
%Y year: 0000-9999
%% %
Time Strings
1. YYYY-MM-DD
2. YYYY-MM-DD HH:MM
3. YYYY-MM-DD HH:MM:SS
4. YYYY-MM-DD HH:MM:SS.SSS
5. YYYY-MM-DDTHH:MM
6. YYYY-MM-DDTHH:MM:SS
7. YYYY-MM-DDTHH:MM:SS.SSS
8. HH:MM
9. HH:MM:SS
0. HH:MM:SS.SSS
1. now
2. DDDDDDDDDD
2013-10-07 08:23:19.120
2013-10-07T08:23:19.120Z
2013-10-07 04:23:19.120-04:00
2456572.84952685
Modifiers
1. NNN days
2. NNN hours
3. NNN minutes
4. NNN.NNNN seconds
5. NNN months
6. NNN years
7. start of month
8. start of year
9. start of day
0. weekday N
1. unixepoch
2. localtime
3. utc
Examples
SELECT date('now');
SELECT strftime('%s','now');
delete-stmt: hide
expr: show
qualified-table-name: show
with-clause: show
delete-stmt-limited:
If a DELETE statement has a LIMIT clause, the
maximum number of rows that will be deleted is found
by evaluating the accompanying expression and casting
it to an integer value. If the result of the evaluating the
LIMIT clause cannot be losslessly converted to an
integer value, it is an error. A negative LIMIT value is
interpreted as "no limit". If the DELETE statement also
has an OFFSET clause, then it is similarly evaluated
and cast to an integer value. Again, it is an error if the
value cannot be losslessly converted to an integer. If
there is no OFFSET clause, or the calculated integer
value is negative, the effective OFFSET value is zero.
detach-stmt: hide
drop-index-stmt: hide
drop-table-stmt: hide
drop-trigger-stmt: hide
drop-view-stmt: hide
expr: hide
literal-value: show
raise-function: show
select-stmt: show
type-name: show
Operators
Note that there are two variations of the equals and not
equals operators. Equals can be either = or ==. The
non-equals operator can be either != or <>. The ||
operator is "concatenate" - it joins together the two
strings of its operands. The operator % outputs the
value of its left operand modulo its right operand.
numeric-literal:
Parameters
Scalar Subqueries
Correlated Subqueries
CAST expressions
Boolean Expressions
Functions
SQLite supports many simple and aggregate SQL
functions. For presentation purposes, simple functions
are further subdivided into core functions and date-
time functions. Applications can add new functions,
written in C/C++, using the sqlite3_create_function()
interface.
qualified-table-name: hide
See Also:
insert-stmt: hide
expr: show
select-stmt: show
with-clause: show
reindex-stmt: hide
savepoint-stmt: hide
release-stmt: hide
rollback-stmt: hide
select-stmt: hide
common-table-expression: show
compound-operator: show
expr: show
join-clause: show
ordering-term: show
result-column: show
table-or-subquery: show
factored-select-stmt: show
Note that there are paths through the syntax diagrams
that are not allowed in practice. Some examples:
simple-select-stmt: hide
common-table-expression: show
expr: show
ordering-term: show
select-core: hide
join-clause: show
result-column: show
table-or-subquery: show
Once the input data from the FROM clause has been
filtered by the WHERE clause expression (if any), the
set of result rows for the simple SELECT are calculated.
Exactly how this is done depends on whether the
simple SELECT is an aggregate or non-aggregate query,
and whether or not a GROUP BY clause was specified.
compound-select-stmt: hide
common-table-expression: show
expr: show
ordering-term: show
select-core: show
begin-stmt: hide
commit-stmt: hide
rollback-stmt: hide
update-stmt: hide
column-name-list: show
expr: show
qualified-table-name: show
with-clause: show
update-stmt-limited:
vacuum-stmt: hide
with-clause: hide
cte-table-name: show
select-stmt: show
recursive-cte: hide
cte-table-name: show
53..7....6..195....98....6.8...6...34..8.3..17...2...6.6....2
53 7
6 195
98 6
8 6 3
4 8 3 1
7 2 6
6 28
419 5
8 79
53467891267219534819834256785976142342685379
pragma-stmt: hide
pragma-value: hide
signed-number: show
1 yes true on
0 no false off
Notes:
PRAGMA schema.application_id;
PRAGMA schema.application_id = integer ;
PRAGMA busy_timeout;
PRAGMA busy_timeout = milliseconds;
PRAGMA schema.cache_size;
PRAGMA schema.cache_size = pages;
PRAGMA schema.cache_size = -kibibytes;
PRAGMA cache_spill;
PRAGMA cache_spill=boolean;
PRAGMA schema.cache_spill=N;
PRAGMA cell_size_check
PRAGMA cell_size_check = boolean;
PRAGMA collation_list;
PRAGMA compile_options;
PRAGMA count_changes;
PRAGMA count_changes = boolean;
PRAGMA data_store_directory;
PRAGMA data_store_directory = 'directory-name';
PRAGMA schema.data_version;
The "PRAGMA data_version" command provides an
indication that the database file has been modified.
Interactive programs that hold database content in
memory or that display database content on-screen can
use the PRAGMA data_version command to determine if
they need to flush and reload their memory or update
the screen display.
PRAGMA database_list;
This pragma works like a query to return one row for
each database attached to the current database
connection. The second column is the "main" for the
main database file, "temp" for the database file used to
store TEMP objects, or the name of the ATTACHed
database for other database files. The third column is
the name of the database file itself, or an empty string
if the database is not associated with a file.
PRAGMA schema.default_cache_size;
PRAGMA schema.default_cache_size = Number-of-
pages;
PRAGMA defer_foreign_keys
PRAGMA defer_foreign_keys = boolean;
When the defer_foreign_keys PRAGMA is on,
enforcement of all foreign key constraints is delayed
until the outermost transaction is committed. The
defer_foreign_keys pragma defaults to OFF so that
foreign key constraints are only deferred if they are
created as "DEFERRABLE INITIALLY DEFERRED". The
defer_foreign_keys pragma is automatically switched
off at each COMMIT or ROLLBACK. Hence, the
defer_foreign_keys pragma must be separately enabled
for each transaction. This pragma is only meaningful if
foreign key constraints are enabled, of course.
The
sqlite3_db_status(db,SQLITE_DBSTATUS_DEFERRED_FKS
C-language interface can be used during a transaction
to determine if there are deferred and unresolved
foreign key constraints.
PRAGMA empty_result_callbacks;
PRAGMA empty_result_callbacks = boolean;
PRAGMA encoding;
PRAGMA encoding = "UTF-8";
PRAGMA encoding = "UTF-16";
PRAGMA encoding = "UTF-16le";
PRAGMA encoding = "UTF-16be";
PRAGMA schema.foreign_key_check;
PRAGMA schema.foreign_key_check(table-name);
PRAGMA foreign_key_list(table-name);
PRAGMA foreign_keys;
PRAGMA foreign_keys = boolean;
PRAGMA schema.freelist_count;
PRAGMA full_column_names;
PRAGMA full_column_names = boolean;
PRAGMA fullfsync
PRAGMA fullfsync = boolean;
PRAGMA schema.incremental_vacuum(N);
PRAGMA schema.index_info(index-name);
PRAGMA schema.index_list(table-name);
PRAGMA schema.index_xinfo(index-name);
PRAGMA schema.integrity_check;
PRAGMA schema.integrity_check(N)
This pragma does an integrity check of the entire
database. The integrity_check pragma looks for out-of-
order records, missing pages, malformed records,
missing index entries, and UNIQUE and NOT NULL
constraint errors. If the integrity_check pragma finds
problems, strings are returned (as multiple rows with a
single column per row) which describe the problems.
Pragma integrity_check will return at most N errors
before the analysis quits, with N defaulting to 100. If
pragma integrity_check finds no errors, a single row
with the value 'ok' is returned.
PRAGMA schema.journal_mode;
PRAGMA schema.journal_mode = DELETE |
TRUNCATE | PERSIST | MEMORY | WAL | OFF
PRAGMA schema.journal_size_limit
PRAGMA schema.journal_size_limit = N ;
PRAGMA legacy_file_format;
PRAGMA legacy_file_format = boolean
PRAGMA schema.locking_mode;
PRAGMA schema.locking_mode = NORMAL |
EXCLUSIVE
PRAGMA main.locking_mode=EXCLUSIVE;
PRAGMA schema.max_page_count;
PRAGMA schema.max_page_count = N;
PRAGMA schema.page_count;
PRAGMA schema.page_size;
PRAGMA schema.page_size = bytes;
PRAGMA query_only;
PRAGMA query_only = boolean;
PRAGMA read_uncommitted;
PRAGMA read_uncommitted = boolean;
PRAGMA recursive_triggers;
PRAGMA recursive_triggers = boolean;
PRAGMA reverse_unordered_selects;
PRAGMA reverse_unordered_selects = boolean;
PRAGMA schema.schema_version;
PRAGMA schema.schema_version = integer ;
PRAGMA schema.secure_delete;
PRAGMA schema.secure_delete = boolean
PRAGMA short_column_names;
PRAGMA short_column_names = boolean;
PRAGMA soft_heap_limit
PRAGMA soft_heap_limit=N
PRAGMA stats;
EXTRA (3)
EXTRA synchronous is like FULL with the addition
that the directory containing a rollback journal is
synced after that journal is unlinked to commit a
transaction in DELETE mode. EXTRA provides
additional durability if the commit is followed closely
by a power loss.
FULL (2)
When synchronous is FULL (2), the SQLite database
engine will use the xSync method of the VFS to
ensure that all content is safely written to the disk
surface prior to continuing. This ensures that an
operating system crash or power failure will not
corrupt the database. FULL synchronous is very safe,
but it is also slower. FULL is the most commonly
used synchronous setting when not in WAL mode.
NORMAL (1)
When synchronous is NORMAL (1), the SQLite
database engine will still sync at the most critical
moments, but less often than in FULL mode. There is
a very small (though non-zero) chance that a power
failure at just the wrong time could corrupt the
database in NORMAL mode. But in practice, you are
more likely to suffer a catastrophic disk failure or
some other unrecoverable hardware fault. Many
applications choose NORMAL when in WAL mode.
OFF (0)
With synchronous OFF (0), SQLite continues without
syncing as soon as it has handed data off to the
operating system. If the application running SQLite
crashes, the data will be safe, but the database
might become corrupted if the operating system
crashes or the computer loses power before that
data has been written to the disk surface. On the
other hand, commits can be orders of magnitude
faster with synchronous OFF.
PRAGMA schema.table_info(table-name);
PRAGMA temp_store;
PRAGMA temp_store = 0 | DEFAULT | 1 | FILE | 2 |
MEMORY;
PRAGMA temp_store_directory;
PRAGMA temp_store_directory = 'directory-name';
PRAGMA threads;
PRAGMA threads = N;
PRAGMA schema.user_version;
PRAGMA schema.user_version = integer ;
PRAGMA wal_autocheckpoint;
PRAGMA wal_autocheckpoint=N;
PRAGMA schema.wal_checkpoint;
PRAGMA schema.wal_checkpoint(PASSIVE);
PRAGMA schema.wal_checkpoint(FULL);
PRAGMA schema.wal_checkpoint(RESTART);
PRAGMA schema.wal_checkpoint(TRUNCATE);
PASSIVE
Checkpoint as many frames as possible without
waiting for any database readers or writers to finish.
Sync the db file if all frames in the log are
checkpointed. This mode is the same as calling the
sqlite3_wal_checkpoint() C interface. The busy-
handler callback is never invoked in this mode.
FULL
This mode blocks (invokes the busy-handler
callback) until there is no database writer and all
readers are reading from the most recent database
snapshot. It then checkpoints all frames in the log
file and syncs the database file. FULL blocks
concurrent writers while it is running, but readers
can proceed.
RESTART
This mode works the same way as FULL with the
addition that after checkpointing the log file it blocks
(calls the busy-handler callback) until all readers are
finished with the log file. This ensures that the next
client to write to the database file restarts the log
file from the beginning. RESTART blocks concurrent
writers while it is running, but allowed readers to
proceed.
TRUNCATE
This mode works the same way as RESTART with the
addition that the WAL file is truncated to zero bytes
upon successful completion.
References: sql-stmt
See also: lang.html
sql-stmt:
Used by: sql-stmt-list
References: alter-table-stmt analyze-stmt attach-
stmt begin-stmt commit-stmt create-index-stmt
create-table-stmt create-trigger-stmt create-view-
stmt create-virtual-table-stmt delete-stmt delete-
stmt-limited detach-stmt drop-index-stmt drop-
table-stmt drop-trigger-stmt drop-view-stmt insert-
stmt pragma-stmt reindex-stmt release-stmt
rollback-stmt savepoint-stmt select-stmt update-
stmt update-stmt-limited vacuum-stmt
See also: lang.html lang_explain.html
alter-table-stmt:
analyze-stmt:
attach-stmt:
begin-stmt:
Used by: sql-stmt
See also: lang_transaction.html
commit-stmt:
rollback-stmt:
savepoint-stmt:
release-stmt:
Used by: sql-stmt
See also: lang_savepoint.html
create-index-stmt:
indexed-column:
create-table-stmt:
Used by: sql-stmt
References: column-def select-stmt table-
constraint
See also: lang_createtable.html
column-def:
type-name:
column-constraint:
signed-number:
Used by: column-constraint pragma-value type-
name
See also: lang_altertable.html lang_attach.html
lang_createindex.html lang_createtable.html
lang_createtrigger.html lang_createview.html
lang_delete.html lang_expr.html lang_insert.html
lang_select.html lang_select.html#compound
lang_select.html#simpleselect lang_update.html
lang_with.html partialindex.html
pragma.html#syntax
table-constraint:
conflict-clause:
create-view-stmt:
Used by: sql-stmt
References: select-stmt
See also: lang_createview.html
create-virtual-table-stmt:
with-clause:
recursive-cte:
References: cte-table-name
See also: lang_with.html#recursivecte
common-table-expression:
delete-stmt:
delete-stmt-limited:
detach-stmt:
Used by: sql-stmt
See also: lang_detach.html
drop-index-stmt:
drop-table-stmt:
drop-trigger-stmt:
drop-view-stmt:
raise-function:
literal-value:
numeric-literal:
insert-stmt:
Used by: create-trigger-stmt sql-stmt
References: expr select-stmt with-clause
See also: lang_createtrigger.html lang_insert.html
pragma-stmt:
pragma-value:
Used by: pragma-stmt
References: signed-number
See also: pragma.html#syntax
reindex-stmt:
select-stmt:
Used by: common-table-expression create-table-
stmt create-trigger-stmt create-view-stmt expr
insert-stmt sql-stmt table-or-subquery with-clause
References: common-table-expression compound-
operator expr join-clause ordering-term result-
column table-or-subquery
See also: lang_altertable.html lang_attach.html
lang_createindex.html lang_createtable.html
lang_createtrigger.html lang_createview.html
lang_delete.html lang_expr.html lang_insert.html
lang_select.html lang_select.html#compound
lang_select.html#simpleselect lang_update.html
lang_with.html lang_with.html#recursivecte
partialindex.html
join-clause:
select-core:
Used by: compound-select-stmt factored-select-
stmt simple-select-stmt
References: expr join-clause result-column table-
or-subquery
See also: lang_select.html
lang_select.html#compound
lang_select.html#simpleselect
factored-select-stmt:
References: common-table-expression compound-
operator expr ordering-term select-core
See also: lang_select.html
simple-select-stmt:
table-or-subquery:
Used by: join-clause select-core select-stmt
References: expr join-clause select-stmt
See also: lang_altertable.html lang_attach.html
lang_createindex.html lang_createtable.html
lang_createtrigger.html lang_createview.html
lang_delete.html lang_expr.html lang_insert.html
lang_select.html lang_select.html#compound
lang_select.html#simpleselect lang_update.html
lang_with.html partialindex.html
result-column:
Used by: select-core select-stmt
References: expr
See also: lang_altertable.html lang_attach.html
lang_createindex.html lang_createtable.html
lang_createtrigger.html lang_createview.html
lang_delete.html lang_expr.html lang_insert.html
lang_select.html lang_select.html#compound
lang_select.html#simpleselect lang_update.html
lang_with.html partialindex.html
join-operator:
join-constraint:
Used by: join-clause
References: expr
See also: lang_altertable.html lang_attach.html
lang_createindex.html lang_createtable.html
lang_createtrigger.html lang_createview.html
lang_delete.html lang_expr.html lang_insert.html
lang_select.html lang_select.html#compound
lang_select.html#fromclause
lang_select.html#simpleselect lang_update.html
lang_with.html partialindex.html
ordering-term:
update-stmt:
column-name-list:
update-stmt-limited:
qualified-table-name:
vacuum-stmt:
comment-syntax:
Namespace Hierarchy
Classes
Class Description
AssemblySourceIdAttribute Defines a source code identifier custom
AssemblySourceTimeStampAttribute Defines a source code time-stamp custo
AuthorizerEventArgs The data associated with a call into the
CommitEventArgs Event arguments raised when a transa
ConnectionEventArgs Event data for connection event handle
LogEventArgs Event data for logging event handlers.
ProgressEventArgs The event data associated with progres
SQLiteBlob Represents a single SQL blob in SQLite
SQLiteCommand SQLite implementation of DbCommand
SQLiteCommandBuilder SQLite implementation of DbCommand
SQLiteConnection SQLite implentation of DbConnection.
SQLiteConnectionStringBuilder SQLite implementation of DbConnectio
SQLiteContext This class represents a context from th
sqlite3_result_*() and associated funct
SQLiteConvert This base class provides datatype conve
SQLiteDataAdapter SQLite implementation of DbDataAdapt
SQLiteDataReader SQLite implementation of DbDataReade
SQLiteDataReaderValue This class represents a single value to
via its GetBlob, GetBoolean, GetByte,
GetDecimal, GetDouble, GetFloat, GetG
or GetValue method. If the value of the
upon returning from the callback, the n
for the SQLiteDataReader method ca
returned from the SQLiteDataReader
type), an exception will be thrown.
SQLiteDelegateFunction This class implements a SQLite function
the SQLiteFunction class are implemen
SQLiteStepDelegate, SQLiteFinalDelega
typed delegate types or via the Dynam
in the same order they appear in the a
exception: the first argument is the na
SQLiteException SQLite exception class.
SQLiteFactory SQLite implementation of DbProviderFa
SQLiteFunction This abstract class is designed to handl
the derived class is made for each conn
SQLiteFunctionAttribute A simple custom attribute to enable us
loaded assemblies and initialize them i
SQLiteFunctionEx Extends SQLiteFunction and allows an
associated with a function call.
SQLiteIndex This class represents the various inputs
SQLiteIndexConstraint This class represents the native sqlite3
core library.
SQLiteIndexConstraintUsage This class represents the native sqlite3
SQLite core library.
SQLiteIndexInputs This class represents the various inputs
BestIndex method.
SQLiteIndexOrderBy This class represents the native sqlite3
library.
SQLiteIndexOutputs This class represents the various outpu
BestIndex method.
SQLiteLog Manages the SQLite custom logging fun
whole process.
SQLiteMetaDataCollectionNames MetaDataCollections specific to SQLite
SQLiteModule This class represents a managed virtua
and must be used as the base class for
implemented in managed code.
SQLiteModuleCommon This class contains some virtual metho
classes. It specifically does NOT implem
interface methods.
SQLiteModuleEnumerable This class implements a virtual table m
instance as a read-only virtual table. It
class for any user-defined virtual table
instance. The following short example s
as a table data source:
public static class Sample
{
public static void Main()
{
using (SQLiteConnection co
"Data Source=:memory:;
{
connection.Open();
connection.CreateModule(
"sampleModule", new st
command.ExecuteNonQuer
}
using (SQLiteDataReade
{
while (dataReader.Re
Console.WriteLine(
}
}
connection.Close();
}
}
}
Structures
Structure Description
CollationSequence A struct describing the collating
sequence a function is executing in
Delegates
Delegate Description
SQLiteAuthorizerEventHandler Raised when authorization is
required to perform an action
contained within a SQL query.
SQLiteBackupCallback Raised between each backup step.
SQLiteBindValueCallback This represents a method that will
be called in response to a request
to bind a parameter to a command.
If an exception is thrown, it will
cause the parameter binding
operation to fail -AND- it will
continue to unwind the call stack.
SQLiteCallback An internal callback delegate
declaration.
SQLiteCommitHandler Raised when a transaction is about
to be committed. To roll back a
transaction, set the rollbackTrans
boolean value to true.
SQLiteCompareDelegate This Delegate type is used with the
Compare method.
SQLiteConnectionEventHandler Raised when an event pertaining to
a connection occurs.
SQLiteFinalDelegate This Delegate type is used with the
Final method.
SQLiteInvokeDelegate This Delegate type is used with the
Invoke method.
SQLiteLogEventHandler Raised when a log event occurs.
SQLiteProgressEventHandler Raised each time the number of
virtual machine instructions is
approximately equal to the value of
the ProgressOps property.
SQLiteReadValueCallback This represents a method that will
be called in response to a request
to read a value from a data reader.
If an exception is thrown, it will
cause the data reader operation to
fail -AND- it will continue to unwind
the call stack.
SQLiteStepDelegate This Delegate type is used with the
Step method.
SQLiteTraceEventHandler Raised when a statement first
begins executing on a given
connection
SQLiteUpdateEventHandler Raised when data is inserted,
updated and deleted on a given
connection
Enumerations
Enumeration Description
CollationEncodingEnum The encoding type the collation
sequence uses
CollationTypeEnum The type of collating sequence
FunctionType The type of user-defined function to
declare
SQLiteAuthorizerActionCode The action code responsible for the
current call into the authorizer.
SQLiteAuthorizerReturnCode The return code for the current call
into the authorizer.
SQLiteConfigDbOpsEnum These are the supported
configuration verbs for use with the
native SQLite library. They are
used with the
SetConfigurationOption method.
SQLiteConnectionEventType These are the event types
associated with the
SQLiteConnectionEventHandler
delegate (and its corresponding
event) and the
ConnectionEventArgs class.
SQLiteConnectionFlags The extra behavioral flags that can
be applied to a connection.
SQLiteDateFormats This implementation of SQLite for
ADO.NET can process date/time
fields in databases in one of six
formats.
SQLiteErrorCode SQLite error codes. Actually, this
enumeration represents a return
code, which may also indicate
success in one of several ways (e.g.
SQLITE_OK, SQLITE_ROW, and
SQLITE_DONE). Therefore, the
name of this enumeration is
something of a misnomer.
SQLiteExecuteType The requested command execution
type. This controls which method of
the SQLiteCommand object will be
called.
SQLiteIndexConstraintOp These are the allowed values for
the operators that are part of a
constraint term in the WHERE
clause of a query that uses a
virtual table.
SQLiteIndexFlags These are the allowed values for
the index flags from the BestIndex
method.
SQLiteJournalModeEnum This enum determines how SQLite
treats its journal file.
SQLiteProgressReturnCode The possible return codes for the
progress callback.
SynchronizationModes The I/O file cache flushing behavior
for the connection
TypeAffinity SQLite has very limited types, and
is inherently text-based. The first 5
types below represent the sum of
all types SQLite understands. The
DateTime extension to the spec is
for internal use only.
UpdateEventType Whenever an update event is
triggered on a connection, this
enum will indicate exactly what
type of operation is being
performed.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
AssemblySourceIdAttribute Members | System.Data.SQLite Namespace
AssemblySourceIdAttribute overview
See Also
AssemblySourceIdAttribute Class | System.Data.SQLite Namespace
AssemblySourceIdAttribute(
string value
);
Parameters
value
The source code identifier value to use.
See Also
AssemblySourceIdAttribute Class | System.Data.SQLite Namespace
See Also
AssemblySourceIdAttribute Class | System.Data.SQLite Namespace
See Also
AssemblySourceIdAttribute Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
AssemblySourceTimeStampAttribute Members | System.Data.SQLite
Namespace
AssemblySourceTimeStampAttribute overview
See Also
AssemblySourceTimeStampAttribute Class | System.Data.SQLite
Namespace
AssemblySourceTimeStampAttribute(
string value
);
Parameters
value
The source code time-stamp value to use.
See Also
AssemblySourceTimeStampAttribute Class | System.Data.SQLite
Namespace
See Also
AssemblySourceTimeStampAttribute Class | System.Data.SQLite
Namespace
See Also
AssemblySourceTimeStampAttribute Class | System.Data.SQLite
Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
AuthorizerEventArgs Members | System.Data.SQLite Namespace
AuthorizerEventArgs overview
See Also
AuthorizerEventArgs Class | System.Data.SQLite Namespace
See Also
AuthorizerEventArgs Class | System.Data.SQLite Namespace
Send comments on this topic.
Generated from assembly System.Data.SQLite [1.0.104.0] by NDoc3
SQLite ADO.NET Provider
AuthorizerEventArgs.ActionCode Field
The action code responsible for the current call into the authorizer.
See Also
AuthorizerEventArgs Class | System.Data.SQLite Namespace
The first string argument for the current call into the authorizer. The exact
value will vary based on the action code, see the
SQLiteAuthorizerActionCode enumeration for possible values.
See Also
AuthorizerEventArgs Class | System.Data.SQLite Namespace
The second string argument for the current call into the authorizer. The
exact value will vary based on the action code, see the
SQLiteAuthorizerActionCode enumeration for possible values.
See Also
AuthorizerEventArgs Class | System.Data.SQLite Namespace
The name of the inner-most trigger or view that is responsible for the
access attempt or a null value if this access attempt is directly from top-
level SQL code.
See Also
AuthorizerEventArgs Class | System.Data.SQLite Namespace
The database name for the current call into the authorizer, if applicable.
See Also
AuthorizerEventArgs Class | System.Data.SQLite Namespace
The return code for the current call into the authorizer.
See Also
AuthorizerEventArgs Class | System.Data.SQLite Namespace
The user-defined native data associated with this event. Currently, this will
always contain the value of Zero.
See Also
AuthorizerEventArgs Class | System.Data.SQLite Namespace
Members
Member Name Description
UTF8 The collation sequence is UTF8
UTF16LE The collation sequence is UTF16
little-endian
UTF16BE The collation sequence is UTF16
big-endian
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
CollationSequence Members | System.Data.SQLite Namespace
CollationSequence overview
See Also
CollationSequence Class | System.Data.SQLite Namespace
See Also
CollationSequence Class | System.Data.SQLite Namespace
See Also
CollationSequence Class | System.Data.SQLite Namespace
See Also
CollationSequence Class | System.Data.SQLite Namespace
See Also
CollationSequence Class | System.Data.SQLite Namespace
See Also
CollationSequence Class | System.Data.SQLite Namespace
Overload List
Calls the base collating sequence to compare two character arrays
public int Compare(char[],char[])
Calls the base collating sequence to compare two strings
public int Compare(string,string)
See Also
CollationSequence Class | System.Data.SQLite Namespace
Parameters
c1
The first array to compare
c2
The second array to compare
Return Value
-1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2
See Also
CollationSequence Class | System.Data.SQLite Namespace |
CollationSequence.Compare Overload List
Parameters
s1
The first string to compare
s2
The second string to compare
Return Value
-1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2
See Also
CollationSequence Class | System.Data.SQLite Namespace |
CollationSequence.Compare Overload List
Members
Member Name Description
Binary The built-in BINARY collating
sequence
NoCase The built-in NOCASE collating
sequence
Reverse The built-in REVERSE collating
sequence
Custom A custom user-defined collating
sequence
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
CommitEventArgs Members | System.Data.SQLite Namespace
CommitEventArgs overview
See Also
CommitEventArgs Class | System.Data.SQLite Namespace
The fields of the CommitEventArgs class are listed below. For a complete
list of CommitEventArgs class members, see the CommitEventArgs
Members topic.
See Also
CommitEventArgs Class | System.Data.SQLite Namespace
See Also
CommitEventArgs Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
ConnectionEventArgs Members | System.Data.SQLite Namespace
ConnectionEventArgs overview
See Also
ConnectionEventArgs Class | System.Data.SQLite Namespace
See Also
ConnectionEventArgs Class | System.Data.SQLite Namespace
See Also
ConnectionEventArgs Class | System.Data.SQLite Namespace
See Also
ConnectionEventArgs Class | System.Data.SQLite Namespace
See Also
ConnectionEventArgs Class | System.Data.SQLite Namespace
See Also
ConnectionEventArgs Class | System.Data.SQLite Namespace
See Also
ConnectionEventArgs Class | System.Data.SQLite Namespace
See Also
ConnectionEventArgs Class | System.Data.SQLite Namespace
See Also
ConnectionEventArgs Class | System.Data.SQLite Namespace
See Also
ConnectionEventArgs Class | System.Data.SQLite Namespace
Members
Member Name Description
Scalar Scalar functions are designed to be
called and return a result
immediately. Examples include
ABS(), Upper(), Lower(), etc.
Aggregate Aggregate functions are designed
to accumulate data until the end of
a call and then return a result
gleaned from the accumulated
data. Examples include SUM(),
COUNT(), AVG(), etc.
Collation Collating sequences are used to
sort textual data in a custom
manner, and appear in an ORDER
BY clause. Typically text in an
ORDER BY is sorted using a straight
case-insensitive comparison
function. Custom collating
sequences can be used to alter the
behavior of text sorting in a user-
defined manner.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
ISQLiteConnectionPool Members | System.Data.SQLite Namespace
ISQLiteConnectionPool overview
See Also
ISQLiteConnectionPool Interface | System.Data.SQLite Namespace
See Also
ISQLiteConnectionPool Interface | System.Data.SQLite Namespace
void Add(
string fileName,
object handle,
int version
);
Parameters
fileName
The database file name.
handle
The database connection handle.
version
The connection pool version at the point the database connection
handle was received from the connection pool. This is also the
connection pool version that the database connection handle was
created under.
See Also
ISQLiteConnectionPool Interface | System.Data.SQLite Namespace
void ClearAllPools();
See Also
ISQLiteConnectionPool Interface | System.Data.SQLite Namespace
void ClearPool(
string fileName
);
Parameters
fileName
The database file name.
See Also
ISQLiteConnectionPool Interface | System.Data.SQLite Namespace
Counts the number of pool entries matching the specified file name.
void GetCounts(
string fileName,
ref Dictionary<string, int> counts,
ref int openCount,
ref int closeCount,
ref int totalCount
);
Parameters
fileName
The file name to match or null to match all files.
counts
The pool entry counts for each matching file.
openCount
The total number of connections successfully opened from any pool.
closeCount
The total number of connections successfully closed from any pool.
totalCount
The total number of pool entries for all matching files.
See Also
ISQLiteConnectionPool Interface | System.Data.SQLite Namespace
Removes a connection from the pool of those associated with the specified
database file name with the intent of using it to interact with the
database.
object Remove(
string fileName,
int maxPoolSize,
out int version
);
Parameters
fileName
The database file name.
maxPoolSize
The new maximum size of the connection pool for the specified
database file name.
version
The connection pool version associated with the returned database
connection handle, if any.
Return Value
The database connection handle associated with the specified database file
name or null if it cannot be obtained.
See Also
ISQLiteConnectionPool Interface | System.Data.SQLite Namespace
connection.CreateModule(new SQ
"sampleModule", new string[]
command.ExecuteNonQuery();
}
connection.Close();
}
}
}
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
ISQLiteManagedModule Members | System.Data.SQLite Namespace
ISQLiteManagedModule overview
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
Returns non-zero if the schema for the virtual table has been declared.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
Returns the name of the module as it was registered with the SQLite core
library.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Begin(
SQLiteVirtualTable table
);
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode BestIndex(
SQLiteVirtualTable table,
SQLiteIndex index
);
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
index
The SQLiteIndex object instance containing all the data for the inputs
and outputs relating to index selection.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Close(
SQLiteVirtualTableCursor cursor
);
Parameters
cursor
The SQLiteVirtualTableCursor object instance associated with the
previously opened virtual table cursor to be used.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Column(
SQLiteVirtualTableCursor cursor,
SQLiteContext context,
int index
);
Parameters
cursor
The SQLiteVirtualTableCursor object instance associated with the
previously opened virtual table cursor to be used.
context
The SQLiteContext object instance to be used for returning the
specified column value to the SQLite core library.
index
The zero-based index corresponding to the column containing the value
to be returned.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Commit(
SQLiteVirtualTable table
);
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Connect(
SQLiteConnection connection,
IntPtr pClientData,
string[] arguments,
ref SQLiteVirtualTable table,
ref string error
);
Parameters
connection
The SQLiteConnection object instance associated with the virtual table.
pClientData
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
arguments
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
table
Upon success, this parameter must be modified to contain the
SQLiteVirtualTable object instance associated with the virtual table.
error
Upon failure, this parameter must be modified to contain an error
message.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Create(
SQLiteConnection connection,
IntPtr pClientData,
string[] arguments,
ref SQLiteVirtualTable table,
ref string error
);
Parameters
connection
The SQLiteConnection object instance associated with the virtual table.
pClientData
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
arguments
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
table
Upon success, this parameter must be modified to contain the
SQLiteVirtualTable object instance associated with the virtual table.
error
Upon failure, this parameter must be modified to contain an error
message.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Destroy(
SQLiteVirtualTable table
);
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Disconnect(
SQLiteVirtualTable table
);
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
bool Eof(
SQLiteVirtualTableCursor cursor
);
Parameters
cursor
The SQLiteVirtualTableCursor object instance associated with the
previously opened virtual table cursor to be used.
Return Value
Non-zero if no more rows are available; zero otherwise.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Filter(
SQLiteVirtualTableCursor cursor,
int indexNumber,
string indexString,
SQLiteValue[] values
);
Parameters
cursor
The SQLiteVirtualTableCursor object instance associated with the
previously opened virtual table cursor to be used.
indexNumber
Number used to help identify the selected index.
indexString
String used to help identify the selected index.
values
The values corresponding to each column in the selected index.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
bool FindFunction(
SQLiteVirtualTable table,
int argumentCount,
string name,
ref SQLiteFunction function,
ref IntPtr pClientData
);
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
argumentCount
The number of arguments to the function being sought.
name
The name of the function being sought.
function
Upon success, this parameter must be modified to contain the
SQLiteFunction object instance responsible for implementing the
specified function.
pClientData
Upon success, this parameter must be modified to contain the native
user-data pointer associated with function.
Return Value
Non-zero if the specified function was found; zero otherwise.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Next(
SQLiteVirtualTableCursor cursor
);
Parameters
cursor
The SQLiteVirtualTableCursor object instance associated with the
previously opened virtual table cursor to be used.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Open(
SQLiteVirtualTable table,
ref SQLiteVirtualTableCursor cursor
);
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
cursor
Upon success, this parameter must be modified to contain the
SQLiteVirtualTableCursor object instance associated with the newly
opened virtual table cursor.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Release(
SQLiteVirtualTable table,
int savepoint
);
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
savepoint
This is an integer used to indicate that any saved states with an
identifier greater than or equal to this should be deleted by the virtual
table.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Rename(
SQLiteVirtualTable table,
string newName
);
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
newName
The new name for the virtual table.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Rollback(
SQLiteVirtualTable table
);
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode RollbackTo(
SQLiteVirtualTable table,
int savepoint
);
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
savepoint
This is an integer identifier used to specify a specific saved state for the
virtual table for it to restore itself back to, which should also have the
effect of deleting all saved states with an integer identifier greater than
this one.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode RowId(
SQLiteVirtualTableCursor cursor,
ref long rowId
);
Parameters
cursor
The SQLiteVirtualTableCursor object instance associated with the
previously opened virtual table cursor to be used.
rowId
Upon success, this parameter must be modified to contain the unique
integer row identifier for the current row for the specified cursor.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Savepoint(
SQLiteVirtualTable table,
int savepoint
);
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
savepoint
This is an integer identifier under which the the current state of the
virtual table should be saved.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Sync(
SQLiteVirtualTable table
);
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode Update(
SQLiteVirtualTable table,
SQLiteValue[] values,
ref long rowId
);
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
values
The array of SQLiteValue object instances containing the new or
modified column values, if any.
rowId
Upon success, this parameter must be modified to contain the unique
integer row identifier for the row that was inserted, if any.
Return Value
A standard SQLite return code.
See Also
ISQLiteManagedModule Interface | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
ISQLiteNativeHandle Members | System.Data.SQLite Namespace
ISQLiteNativeHandle overview
See Also
ISQLiteNativeHandle Interface | System.Data.SQLite Namespace
See Also
ISQLiteNativeHandle Interface | System.Data.SQLite Namespace
See Also
ISQLiteNativeHandle Interface | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
ISQLiteNativeModule Members | System.Data.SQLite Namespace
ISQLiteNativeModule overview
The SQLite core invokes this method in order to find the value
row. N is zero-based so the first column is numbered 0. The x
back to SQLite using one of the following interface:
sqlite3_result_blob()
sqlite3_result_double()
sqlite3_result_int()
sqlite3_result_int64()
sqlite3_result_null()
sqlite3_result_text()
sqlite3_result_text16()
sqlite3_result_text16le()
sqlite3_result_text16be()
sqlite3_result_zeroblob()
If the xColumn method implementation calls none of the func
column defaults to an SQL NULL. To raise an error, the xColum
result_text() methods to set the error message text, then retu
xColumn method must return SQLITE_OK on success. The xC
virtual table implementation.
xCommit
int (*xCommit)(sqlite3_vtab *pVTab);
Then the virtual table would be created with two hidden colum
"VARCHAR(12)" and "INTEGER". An example use of hidden co
virtual table implementation, where every FTS virtual table co
used to pass information from the virtual table into FTS auxili
operator. A virtual table that contains hidden columns can be
the FROM clause of a SELECT statement. The arguments to th
constraints on the HIDDEN columns of the virtual table. For e
extension (located in the ext/misc/series.c file in the source t
virtual table with the following schema:
CREATE TABLE generate_series(
value,
start HIDDEN,
stop HIDDEN,
step HIDDEN
);
The xEof method must return false (zero) if the specified curs
data, or true (non-zero) otherwise. This method is called by th
each xFilter and xNext invocation. The xEof method is require
implementation.
xFilter
int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, con
int argc, sqlite3_value **argv);
xRelease
int (*xSavepoint)(sqlite3_vtab *pVtab, int);
int (*xRelease)(sqlite3_vtab *pVtab, int);
int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
xRowId
int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int6
argc = 1
The single row with rowid equal to argv[0] is del
argc > 1
argv[0] = NULL
A new row is inserted with a rowid argv[1] and co
argv[2] and following. If arg
the a new unique rowid is gene
argc > 1
argv[0] NULL
argv[0] = argv[1]
The row with rowid argv[0] is updated with new va
in argv[2] and following param
argc > 1
argv[0] NULL
argv[0] argv[1]
The row with rowid argv[0] is updated with rowid
and new values in argv[2] and followi
when an SQL statement updates a rowid
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
The SQLite core invokes this method in order to find the value
row. N is zero-based so the first column is numbered 0. The x
back to SQLite using one of the following interface:
sqlite3_result_blob()
sqlite3_result_double()
sqlite3_result_int()
sqlite3_result_int64()
sqlite3_result_null()
sqlite3_result_text()
sqlite3_result_text16()
sqlite3_result_text16le()
sqlite3_result_text16be()
sqlite3_result_zeroblob()
If the xColumn method implementation calls none of the func
column defaults to an SQL NULL. To raise an error, the xColum
result_text() methods to set the error message text, then retu
xColumn method must return SQLITE_OK on success. The xC
virtual table implementation.
xCommit
int (*xCommit)(sqlite3_vtab *pVTab);
Then the virtual table would be created with two hidden colum
"VARCHAR(12)" and "INTEGER". An example use of hidden co
virtual table implementation, where every FTS virtual table co
used to pass information from the virtual table into FTS auxili
operator. A virtual table that contains hidden columns can be
the FROM clause of a SELECT statement. The arguments to th
constraints on the HIDDEN columns of the virtual table. For e
extension (located in the ext/misc/series.c file in the source t
virtual table with the following schema:
CREATE TABLE generate_series(
value,
start HIDDEN,
stop HIDDEN,
step HIDDEN
);
xDestroy
int (*xDestroy)(sqlite3_vtab *pVTab);
The xEof method must return false (zero) if the specified curs
data, or true (non-zero) otherwise. This method is called by th
each xFilter and xNext invocation. The xEof method is require
implementation.
xFilter
int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, con
int argc, sqlite3_value **argv);
xRelease
int (*xSavepoint)(sqlite3_vtab *pVtab, int);
int (*xRelease)(sqlite3_vtab *pVtab, int);
int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
xRowId
int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int6
argc = 1
The single row with rowid equal to argv[0] is del
argc > 1
argv[0] = NULL
A new row is inserted with a rowid argv[1] and co
argv[2] and following. If arg
the a new unique rowid is gene
argc > 1
argv[0] NULL
argv[0] = argv[1]
The row with rowid argv[0] is updated with new va
in argv[2] and following param
argc > 1
argv[0] NULL
argv[0] argv[1]
The row with rowid argv[0] is updated with rowid
and new values in argv[2] and followi
when an SQL statement updates a rowid
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode xBegin(
IntPtr pVtab
);
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
The SQLite core calls the xBestIndex method when it is compiling a query
that involves a virtual table. In other words, SQLite calls this method
when it is running sqlite3_prepare() or the equivalent. By calling this
method, the SQLite core is saying to the virtual table that it needs to
access some subset of the rows in the virtual table and it wants to know
the most efficient way to do that access. The xBestIndex method replies
with information that the SQLite core can then use to conduct an efficient
search of the virtual table.
While compiling a single SQL query, the SQLite core might call xBestIndex
multiple times with different settings in sqlite3_index_info. The SQLite
core will then select the combination that appears to give the best
performance.
Before calling this method, the SQLite core initializes an instance of the
sqlite3_index_info structure with information about the query that it is
currently trying to process. This information derives mainly from the
WHERE clause and ORDER BY or GROUP BY clauses of the query, but also
from any ON or USING clauses if the query is a join. The information that
the SQLite core provides to the xBestIndex method is held in the part of
the structure that is marked as "Inputs". The "Outputs" section is
initialized to zero.
The information in the sqlite3_index_info structure is ephemeral and may
be overwritten or deallocated as soon as the xBestIndex method returns.
If the xBestIndex method needs to remember any part of the
sqlite3_index_info structure, it should make a copy. Care must be take to
store the copy in a place where it will be deallocated, such as in the idxStr
field with needToFreeIdxStr set to 1.
Note that xBestIndex will always be called before xFilter, since the idxNum
and idxStr outputs from xBestIndex are required inputs to xFilter.
However, there is no guarantee that xFilter will be called following a
successful xBestIndex.
The xBestIndex method is required for every virtual table implementation.
The main thing that the SQLite core is trying to communicate to the
virtual table is the constraints that are available to limit the number of
rows that need to be searched. The aConstraint[] array contains one entry
for each constraint. There will be exactly nConstraint entries in that array.
Each constraint will correspond to a term in the WHERE clause or in a
USING or ON clause that is of the form
column OP EXPR
Then one of the constraints would be on the "a" column with operator "="
and an expression of "5". Constraints need not have a literal
representation of the WHERE clause. The query optimizer might make
transformations to the WHERE clause in order to extract as many
constraints as it can. So, for example, if the WHERE clause contained
something like this:
x BETWEEN 10 AND 100 AND 999>y
The query optimizer might translate this into three separate constraints:
x >= 10
x <= 100
y < 999
SQLiteErrorCode xBestIndex(
IntPtr pVtab,
IntPtr pIndex
);
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
pIndex
The native pointer to the sqlite3_index_info structure.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
int (*xClose)(sqlite3_vtab_cursor*);
SQLiteErrorCode xClose(
IntPtr pCursor
);
Parameters
pCursor
The native pointer to the sqlite3_vtab_cursor derived structure.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
The SQLite core invokes this method in order to find the value for the N-th
column of the current row. N is zero-based so the first column is numbered
0. The xColumn method may return its result back to SQLite using one of
the following interface:
sqlite3_result_blob()
sqlite3_result_double()
sqlite3_result_int()
sqlite3_result_int64()
sqlite3_result_null()
sqlite3_result_text()
sqlite3_result_text16()
sqlite3_result_text16le()
sqlite3_result_text16be()
sqlite3_result_zeroblob()
SQLiteErrorCode xColumn(
IntPtr pCursor,
IntPtr pContext,
int index
);
Parameters
pCursor
The native pointer to the sqlite3_vtab_cursor derived structure.
pContext
The native pointer to the sqlite3_context structure to be used for
returning the specified column value to the SQLite core library.
index
The zero-based index corresponding to the column containing the value
to be returned.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode xCommit(
IntPtr pVtab
);
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode xConnect(
IntPtr pDb,
IntPtr pAux,
int argc,
IntPtr argv,
ref IntPtr pVtab,
ref IntPtr pError
);
Parameters
pDb
The native database connection handle.
pAux
The original native pointer value that was provided to the
sqlite3_create_module(), sqlite3_create_module_v2() or
sqlite3_create_disposable_module() functions.
argc
The number of arguments from the CREATE VIRTUAL TABLE statement.
argv
The array of string arguments from the CREATE VIRTUAL TABLE
statement.
pVtab
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab derived structure.
pError
Upon failure, this parameter must be modified to point to the error
message, with the underlying memory having been obtained from the
sqlite3_malloc() function.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
Then the virtual table would be created with two hidden columns, and with
datatypes of "VARCHAR(12)" and "INTEGER".
An example use of hidden columns can be seen in the FTS3 virtual table
implementation, where every FTS virtual table contains an FTS hidden
column that is used to pass information from the virtual table into FTS
auxiliary functions and to the FTS MATCH operator.
A virtual table that contains hidden columns can be used like a table-
valued function in the FROM clause of a SELECT statement. The
arguments to the table-valued function become constraints on the HIDDEN
columns of the virtual table.
For example, the "generate_series" extension (located in the
ext/misc/series.c file in the source tree) implements an eponymous virtual
table with the following schema:
CREATE TABLE generate_series(
value,
start HIDDEN,
stop HIDDEN,
step HIDDEN
);
SQLiteErrorCode xCreate(
IntPtr pDb,
IntPtr pAux,
int argc,
IntPtr argv,
ref IntPtr pVtab,
ref IntPtr pError
);
Parameters
pDb
The native database connection handle.
pAux
The original native pointer value that was provided to the
sqlite3_create_module(), sqlite3_create_module_v2() or
sqlite3_create_disposable_module() functions.
argc
The number of arguments from the CREATE VIRTUAL TABLE statement.
argv
The array of string arguments from the CREATE VIRTUAL TABLE
statement.
pVtab
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab derived structure.
pError
Upon failure, this parameter must be modified to point to the error
message, with the underlying memory having been obtained from the
sqlite3_malloc() function.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode xDestroy(
IntPtr pVtab
);
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode xDisconnect(
IntPtr pVtab
);
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
int (*xEof)(sqlite3_vtab_cursor*);
The xEof method must return false (zero) if the specified cursor currently
points to a valid row of data, or true (non-zero) otherwise. This method is
called by the SQL engine immediately after each xFilter and xNext
invocation.
The xEof method is required for every virtual table implementation.
int xEof(
IntPtr pCursor
);
Parameters
pCursor
The native pointer to the sqlite3_vtab_cursor derived structure.
Return Value
Non-zero if no more rows are available; zero otherwise.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode xFilter(
IntPtr pCursor,
int idxNum,
IntPtr idxStr,
int argc,
IntPtr argv
);
Parameters
pCursor
The native pointer to the sqlite3_vtab_cursor derived structure.
idxNum
Number used to help identify the selected index.
idxStr
The native pointer to the UTF-8 encoded string containing the string
used to help identify the selected index.
argc
The number of native pointers to sqlite3_value structures specified in
argv.
argv
An array of native pointers to sqlite3_value structures containing
filtering criteria for the selected index.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
int (*xFindFunction)(
sqlite3_vtab *pVtab,
int nArg,
const char *zName,
void (**pxFunc)(sqlite3_context*,int,sqlite3_value**),
void **ppArg
);
int xFindFunction(
IntPtr pVtab,
int nArg,
IntPtr zName,
ref SQLiteCallback callback,
ref IntPtr pClientData
);
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
nArg
The number of arguments to the function being sought.
zName
The name of the function being sought.
callback
Upon success, this parameter must be modified to contain the delegate
responsible for implementing the specified function.
pClientData
Upon success, this parameter must be modified to contain the native
user-data pointer associated with callback.
Return Value
Non-zero if the specified function was found; zero otherwise.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
int (*xNext)(sqlite3_vtab_cursor*);
The xNext method advances a virtual table cursor to the next row of a
result set initiated by xFilter. If the cursor is already pointing at the last
row when this routine is called, then the cursor no longer points to valid
data and a subsequent call to the xEof method must return true (non-
zero). If the cursor is successfully advanced to another row of content,
then subsequent calls to xEof must return false (zero).
This method must return SQLITE_OK if successful, or an sqlite error code
if an error occurs.
The xNext method is required for every virtual table implementation.
SQLiteErrorCode xNext(
IntPtr pCursor
);
Parameters
pCursor
The native pointer to the sqlite3_vtab_cursor derived structure.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
The xOpen method creates a new cursor used for accessing (read and/or
writing) a virtual table. A successful invocation of this method will allocate
the memory for the sqlite3_vtab_cursor (or a subclass), initialize the new
object, and make *ppCursor point to the new object. The successful call
then returns SQLITE_OK.
For every successful call to this method, the SQLite core will later invoke
the xClose method to destroy the allocated cursor.
The xOpen method need not initialize the pVtab field of the
sqlite3_vtab_cursor structure. The SQLite core will take care of that chore
automatically.
A virtual table implementation must be able to support an arbitrary
number of simultaneously open cursors.
When initially opened, the cursor is in an undefined state. The SQLite core
will invoke the xFilter method on the cursor prior to any attempt to
position or read from the cursor.
The xOpen method is required for every virtual table implementation.
SQLiteErrorCode xOpen(
IntPtr pVtab,
ref IntPtr pCursor
);
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
pCursor
Upon success, this parameter must be modified to point to the newly
created native sqlite3_vtab_cursor derived structure.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
Send comments on this topic.
Generated from assembly System.Data.SQLite [1.0.104.0] by NDoc3
SQLite ADO.NET Provider
ISQLiteNativeModule.xRelease Method
SQLiteErrorCode xRelease(
IntPtr pVtab,
int iSavepoint
);
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
iSavepoint
This is an integer used to indicate that any saved states with an
identifier greater than or equal to this should be deleted by the virtual
table.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
Send comments on this topic.
Generated from assembly System.Data.SQLite [1.0.104.0] by NDoc3
SQLite ADO.NET Provider
ISQLiteNativeModule.xRename Method
SQLiteErrorCode xRename(
IntPtr pVtab,
IntPtr zNew
);
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
zNew
The native pointer to the UTF-8 encoded string containing the new
name for the virtual table.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode xRollback(
IntPtr pVtab
);
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode xRollbackTo(
IntPtr pVtab,
int iSavepoint
);
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
iSavepoint
This is an integer identifier used to specify a specific saved state for the
virtual table for it to restore itself back to, which should also have the
effect of deleting all saved states with an integer identifier greater than
this one.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode xRowId(
IntPtr pCursor,
ref long rowId
);
Parameters
pCursor
The native pointer to the sqlite3_vtab_cursor derived structure.
rowId
Upon success, this parameter must be modified to contain the unique
integer row identifier for the current row for the specified cursor.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
SQLiteErrorCode xSavepoint(
IntPtr pVtab,
int iSavepoint
);
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
iSavepoint
This is an integer identifier under which the the current state of the
virtual table should be saved.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
Send comments on this topic.
Generated from assembly System.Data.SQLite [1.0.104.0] by NDoc3
SQLite ADO.NET Provider
ISQLiteNativeModule.xSync Method
SQLiteErrorCode xSync(
IntPtr pVtab
);
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
int (*xUpdate)(
sqlite3_vtab *pVTab,
int argc,
sqlite3_value **argv,
sqlite_int64 *pRowid
);
All changes to a virtual table are made using the xUpdate method. This
one method can be used to insert, delete, or update.
The argc parameter specifies the number of entries in the argv array. The
value of argc will be 1 for a pure delete operation or N+2 for an insert or
replace or update where N is the number of columns in the table. In the
previous sentence, N includes any hidden columns.
Every argv entry will have a non-NULL value in C but may contain the SQL
value NULL. In other words, it is always true that argv[i]!=0 for i between
0 and argc-1. However, it might be the case that
sqlite3_value_type(argv[i])==SQLITE_NULL.
argc = 1
The single row with rowid equal to argv[0] is deleted. No inser
argc > 1
argv[0] = NULL
A new row is inserted with a rowid argv[1] and column values in
argv[2] and following. If argv[1] is an SQL
the a new unique rowid is generated automati
argc > 1
argv[0] NULL
argv[0] = argv[1]
The row with rowid argv[0] is updated with new values
in argv[2] and following parameters.
argc > 1
argv[0] NULL
argv[0] argv[1]
The row with rowid argv[0] is updated with rowid argv[1]
and new values in argv[2] and following parameters.
when an SQL statement updates a rowid, as in the st
SQLiteErrorCode xUpdate(
IntPtr pVtab,
int argc,
IntPtr argv,
ref long rowId
);
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
argc
The number of new or modified column values contained in argv.
argv
The array of native pointers to sqlite3_value structures containing the
new or modified column values, if any.
rowId
Upon success, this parameter must be modified to contain the unique
integer row identifier for the row that was inserted, if any.
Return Value
A standard SQLite return code.
See Also
ISQLiteNativeModule Interface | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
ISQLiteSchemaExtensions Members | System.Data.SQLite Namespace
ISQLiteSchemaExtensions overview
See Also
ISQLiteSchemaExtensions Interface | System.Data.SQLite Namespace
See Also
ISQLiteSchemaExtensions Interface | System.Data.SQLite Namespace
void BuildTempSchema(
SQLiteConnection connection
);
Parameters
connection
The connection upon which to build the schema tables.
See Also
ISQLiteSchemaExtensions Interface | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
LogEventArgs Members | System.Data.SQLite Namespace
LogEventArgs overview
See Also
LogEventArgs Class | System.Data.SQLite Namespace
The fields of the LogEventArgs class are listed below. For a complete list
of LogEventArgs class members, see the LogEventArgs Members topic.
See Also
LogEventArgs Class | System.Data.SQLite Namespace
See Also
LogEventArgs Class | System.Data.SQLite Namespace
The error code. The type of this object value should be Int32 or
SQLiteErrorCode.
See Also
LogEventArgs Class | System.Data.SQLite Namespace
See Also
LogEventArgs Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
ProgressEventArgs Members | System.Data.SQLite Namespace
ProgressEventArgs overview
See Also
ProgressEventArgs Class | System.Data.SQLite Namespace
Send comments on this topic.
Generated from assembly System.Data.SQLite [1.0.104.0] by NDoc3
SQLite ADO.NET Provider
ProgressEventArgs Fields
See Also
ProgressEventArgs Class | System.Data.SQLite Namespace
The return code for the current call into the progress callback.
See Also
ProgressEventArgs Class | System.Data.SQLite Namespace
The user-defined native data associated with this event. Currently, this will
always contain the value of Zero.
See Also
ProgressEventArgs Class | System.Data.SQLite Namespace
The action code responsible for the current call into the authorizer.
Members
Member Name Description
None No action is being performed. This
value should not be used from
external code.
Copy No longer used.
CreateIndex An index will be created. The
action-specific arguments are the
index name and the table name.
CreateTable A table will be created. The action-
specific arguments are the table
name and a null value.
CreateTempIndex A temporary index will be created.
The action-specific arguments are
the index name and the table
name.
CreateTempTable A temporary table will be created.
The action-specific arguments are
the table name and a null value.
CreateTempTrigger A temporary trigger will be created.
The action-specific arguments are
the trigger name and the table
name.
CreateTempView A temporary view will be created.
The action-specific arguments are
the view name and a null value.
CreateTrigger A trigger will be created. The
action-specific arguments are the
trigger name and the table name.
CreateView A view will be created. The action-
specific arguments are the view
name and a null value.
Delete A DELETE statement will be
executed. The action-specific
arguments are the table name and
a null value.
DropIndex An index will be dropped. The
action-specific arguments are the
index name and the table name.
DropTable A table will be dropped. The action-
specific arguments are the tables
name and a null value.
DropTempIndex A temporary index will be dropped.
The action-specific arguments are
the index name and the table
name.
DropTempTable A temporary table will be dropped.
The action-specific arguments are
the table name and a null value.
DropTempTrigger A temporary trigger will be
dropped. The action-specific
arguments are the trigger name
and the table name.
DropTempView A temporary view will be dropped.
The action-specific arguments are
the view name and a null value.
DropTrigger A trigger will be dropped. The
action-specific arguments are the
trigger name and the table name.
DropView A view will be dropped. The action-
specific arguments are the view
name and a null value.
Insert An INSERT statement will be
executed. The action-specific
arguments are the table name and
a null value.
Pragma A PRAGMA statement will be
executed. The action-specific
arguments are the name of the
PRAGMA and the new value or a
null value.
Read A table column will be read. The
action-specific arguments are the
table name and the column name.
Select A SELECT statement will be
executed. The action-specific
arguments are both null values.
Transaction A transaction will be started,
committed, or rolled back. The
action-specific arguments are the
name of the operation (BEGIN,
COMMIT, or ROLLBACK) and a null
value.
Update An UPDATE statement will be
executed. The action-specific
arguments are the table name and
the column name.
Attach A database will be attached to the
connection. The action-specific
arguments are the database file
name and a null value.
Detach A database will be detached from
the connection. The action-specific
arguments are the database name
and a null value.
AlterTable The schema of a table will be
altered. The action-specific
arguments are the database name
and the table name.
Reindex An index will be deleted and then
recreated. The action-specific
arguments are the index name and
a null value.
Analyze A table will be analyzed to gathers
statistics about it. The action-
specific arguments are the table
name and a null value.
CreateVtable A virtual table will be created. The
action-specific arguments are the
table name and the module name.
DropVtable A virtual table will be dropped. The
action-specific arguments are the
table name and the module name.
Function A SQL function will be called. The
action-specific arguments are a null
value and the function name.
Savepoint A savepoint will be created,
released, or rolled back. The
action-specific arguments are the
name of the operation (BEGIN,
RELEASE, or ROLLBACK) and the
savepoint name.
Recursive A recursive query will be executed.
The action-specific arguments are
two null values.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Parameters
sender
The connection performing the action.
e
A AuthorizerEventArgs that contains the event data.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
The return code for the current call into the authorizer.
Members
Member Name Description
Ok The action will be allowed.
Deny The overall action will be disallowed
and an error message will be
returned from the query
preparation method.
Ignore The specific action will be
disallowed; however, the overall
action will continue. The exact
effects of this return code vary
depending on the specific action,
please refer to the SQLite core
library documentation for futher
details.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Parameters
source
The source database connection.
sourceName
The source database name.
destination
The destination database connection.
destinationName
The destination database name.
pages
The number of pages copied with each step.
remainingPages
The number of pages remaining to be copied.
totalPages
The total number of pages in the source database.
retry
Set to true if the operation needs to be retried due to database locking
issues; otherwise, set to false.
Return Value
True to continue with the backup process or false to halt the backup
process, rolling back any changes that have been made so far.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Parameters
convert
The SQLiteConvert instance in use.
command
The SQLiteCommand instance in use.
flags
The flags associated with the SQLiteConnection instance in use.
parameter
The SQLiteParameter instance being bound to the command.
typeName
The database type name associated with this callback.
index
The ordinal of the parameter being bound to the command.
userData
The data originally used when registering this callback.
complete
Non-zero if the default handling for the parameter binding call should
be skipped (i.e. the parameter should not be bound at all). Great care
should be used when setting this to non-zero.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteBlob Members | System.Data.SQLite Namespace
SQLiteBlob overview
See Also
SQLiteBlob Class | System.Data.SQLite Namespace
The methods of the SQLiteBlob class are listed below. For a complete list
of SQLiteBlob class members, see the SQLiteBlob Members topic.
See Also
SQLiteBlob Class | System.Data.SQLite Namespace
See Also
SQLiteBlob Class | System.Data.SQLite Namespace
Creates a SQLiteBlob object. This will not work for tables that were
created WITHOUT ROWID -OR- if the query does not include the "rowid"
column or one of its aliases -OR- if the SQLiteDataReader was not created
with the KeyInfo flag.
Parameters
dataReader
The SQLiteDataReader instance with a result set containing the desired
blob column.
i
The index of the blob column.
readOnly
Non-zero to open the blob object for read-only access.
Return Value
The newly created SQLiteBlob instance -OR- null if an error occurs.
See Also
SQLiteBlob Class | System.Data.SQLite Namespace
Implements
IDisposable.Dispose
See Also
SQLiteBlob Class | System.Data.SQLite Namespace
The destructor.
See Also
SQLiteBlob Class | System.Data.SQLite Namespace
Queries the total number of bytes for the underlying database blob.
Return Value
The total number of bytes for the underlying database blob.
See Also
SQLiteBlob Class | System.Data.SQLite Namespace
Parameters
buffer
This array will be populated with the bytes read from the underlying
database blob.
count
The number of bytes to read.
offset
The byte offset, relative to the start of the underlying database blob,
where the read operation will begin.
See Also
SQLiteBlob Class | System.Data.SQLite Namespace
Parameters
rowId
The integer identifier for the new row.
See Also
SQLiteBlob Class | System.Data.SQLite Namespace
Parameters
buffer
This array contains the new values for the specified portion of the
underlying database blob.
count
The number of bytes to write.
offset
The byte offset, relative to the start of the underlying database blob,
where the write operation will begin.
See Also
SQLiteBlob Class | System.Data.SQLite Namespace
Parameters
context
Raw native context pointer for the user function.
argc
Total number of arguments to the user function.
argv
Raw native pointer to the array of raw native argument pointers.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteCommand Members | System.Data.SQLite Namespace
SQLiteCommand overview
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
Overload List
Default constructor
public SQLiteCommand()
Initializes the command and associates it with the specified connection.
public SQLiteCommand(SQLiteConnection)
Initializes the command with the given command text
public SQLiteCommand(string)
Initializes the command with the given SQL command text and attach the
command to the specified connection.
public SQLiteCommand(string,SQLiteConnection)
Initializes a command with the given SQL, connection and transaction
public SQLiteCommand(string,SQLiteConnection,SQLiteTransaction)
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
Default constructor
SQLiteCommand();
See Also
SQLiteCommand Class | System.Data.SQLite Namespace |
SQLiteCommand Constructor Overload List
SQLiteCommand(
string commandText
);
Parameters
commandText
The SQL command text
See Also
SQLiteCommand Class | System.Data.SQLite Namespace |
SQLiteCommand Constructor Overload List
Initializes the command with the given SQL command text and attach the
command to the specified connection.
SQLiteCommand(
string commandText,
SQLiteConnection connection
);
Parameters
commandText
The SQL command text
connection
The connection to associate with the command
See Also
SQLiteCommand Class | System.Data.SQLite Namespace |
SQLiteCommand Constructor Overload List
SQLiteCommand(
SQLiteConnection connection
);
Parameters
connection
The connection to associate with the command
See Also
SQLiteCommand Class | System.Data.SQLite Namespace |
SQLiteCommand Constructor Overload List
SQLiteCommand(
string commandText,
SQLiteConnection connection,
SQLiteTransaction transaction
);
Parameters
commandText
The SQL command text
connection
The connection to associate with the command
transaction
The transaction the command should be associated with
See Also
SQLiteCommand Class | System.Data.SQLite Namespace |
SQLiteCommand Constructor Overload List
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
Implements
IDbCommand.CommandText
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
The amount of time to wait for the connection to become available before
erroring out
Implements
IDbCommand.CommandTimeout
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
Implements
IDbCommand.CommandType
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
The transaction associated with this command. SQLite only supports one
transaction per connection, so this property forwards to the command's
underlying connection.
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
Implements
IDbCommand.UpdatedRowSource
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
Not implemented
Implements
IDbCommand.Cancel
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
Return Value
A new SQLiteCommand with the same commandtext, connection and
parameters
Implements
ICloneable.Clone
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
Return Value
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
Return Value
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
Overload List
Inherited from Component.
public void Dispose()
Disposes of the command and clears all member variables
protected override void Dispose(bool)
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
Parameters
disposing
Whether or not the class is being explicitly or implicitly disposed
See Also
SQLiteCommand Class | System.Data.SQLite Namespace |
SQLiteCommand.Dispose Overload List
This method creates a new connection, executes the query using the given
execution type and command behavior, closes the connection unless a data
reader is created, and returns the results. If the connection string is null,
a temporary in-memory database connection will be used.
Overload List
This method creates a new connection, executes the query using the given
execution type and command behavior, closes the connection unless a data
reader is created, and returns the results. If the connection string is null,
a temporary in-memory database connection will be used.
public static object Execute(string,SQLiteExecuteType,CommandBehavior,st
This method creates a new connection, executes the query using the given
execution type, closes the connection, and returns the results. If the
connection string is null, a temporary in-memory database connection will
be used.
public static object Execute(string,SQLiteExecuteType,string,params object[
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
This method creates a new connection, executes the query using the given
execution type and command behavior, closes the connection unless a data
reader is created, and returns the results. If the connection string is null,
a temporary in-memory database connection will be used.
Parameters
commandText
The text of the command to be executed.
executeType
The execution type for the command. This is used to determine which
method of the command object to call, which then determines the type
of results returned, if any.
commandBehavior
The command behavior flags for the command.
connectionString
The connection string to the database to be opened, used, and closed. If
this parameter is null, a temporary in-memory databse will be used.
args
The SQL parameter values to be used when building the command
object to be executed, if any.
Return Value
The results of the query -OR- null if no results were produced from the
given execution type.
See Also
SQLiteCommand Class | System.Data.SQLite Namespace |
SQLiteCommand.Execute Overload List
Send comments on this topic.
Generated from assembly System.Data.SQLite [1.0.104.0] by NDoc3
SQLite ADO.NET Provider
SQLiteCommand.Execute(String, SQLiteExecuteType, String,
Object) Method
This method creates a new connection, executes the query using the given
execution type, closes the connection, and returns the results. If the
connection string is null, a temporary in-memory database connection will
be used.
Parameters
commandText
The text of the command to be executed.
executeType
The execution type for the command. This is used to determine which
method of the command object to call, which then determines the type
of results returned, if any.
connectionString
The connection string to the database to be opened, used, and closed. If
this parameter is null, a temporary in-memory databse will be used.
args
The SQL parameter values to be used when building the command
object to be executed, if any.
Return Value
The results of the query -OR- null if no results were produced from the
given execution type.
See Also
SQLiteCommand Class | System.Data.SQLite Namespace |
SQLiteCommand.Execute Overload List
Parameters
behavior
The behavior the data reader should adopt
Return Value
Returns a SQLiteDataReader object
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
Overload List
Execute the command and return the number of rows inserted/updated
affected by it.
public override int ExecuteNonQuery()
Execute the command and return the number of rows inserted/updated
affected by it.
public int ExecuteNonQuery(CommandBehavior)
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
Return Value
The number of rows inserted/updated affected by it.
Implements
IDbCommand.ExecuteNonQuery
See Also
SQLiteCommand Class | System.Data.SQLite Namespace |
SQLiteCommand.ExecuteNonQuery Overload List
Parameters
behavior
The flags to be associated with the reader.
Return Value
The number of rows inserted/updated affected by it.
See Also
SQLiteCommand Class | System.Data.SQLite Namespace |
SQLiteCommand.ExecuteNonQuery Overload List
Overload List
Overrides the default behavior of DbDataReader to return a specialized
SQLiteDataReader class
new public SQLiteDataReader ExecuteReader()
Overrides the default behavior to return a SQLiteDataReader specialization
class
new public SQLiteDataReader ExecuteReader(CommandBehavior)
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
Return Value
A SQLiteDataReader
See Also
SQLiteCommand Class | System.Data.SQLite Namespace |
SQLiteCommand.ExecuteReader Overload List
Parameters
behavior
The flags to be associated with the reader.
Return Value
A SQLiteDataReader
See Also
SQLiteCommand Class | System.Data.SQLite Namespace |
SQLiteCommand.ExecuteReader Overload List
Execute the command and return the first column of the first row of the
resultset (if present), or null if no resultset was returned.
Overload List
Execute the command and return the first column of the first row of the
resultset (if present), or null if no resultset was returned.
public override object ExecuteScalar()
Execute the command and return the first column of the first row of the
resultset (if present), or null if no resultset was returned.
public object ExecuteScalar(CommandBehavior)
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
Execute the command and return the first column of the first row of the
resultset (if present), or null if no resultset was returned.
Return Value
The first column of the first row of the first resultset from the query.
Implements
IDbCommand.ExecuteScalar
See Also
SQLiteCommand Class | System.Data.SQLite Namespace |
SQLiteCommand.ExecuteScalar Overload List
Execute the command and return the first column of the first row of the
resultset (if present), or null if no resultset was returned.
Parameters
behavior
The flags to be associated with the reader.
Return Value
The first column of the first row of the first resultset from the query.
See Also
SQLiteCommand Class | System.Data.SQLite Namespace |
SQLiteCommand.ExecuteScalar Overload List
Does nothing. Commands are prepared as they are executed the first time,
and kept in prepared state afterwards.
Implements
IDbCommand.Prepare
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
This method resets all the prepared statements held by this instance back
to their initial states, ready to be re-executed.
Overload List
This method resets all the prepared statements held by this instance back
to their initial states, ready to be re-executed.
public void Reset()
This method resets all the prepared statements held by this instance back
to their initial states, ready to be re-executed.
public void Reset(bool,bool)
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
This method resets all the prepared statements held by this instance back
to their initial states, ready to be re-executed.
See Also
SQLiteCommand Class | System.Data.SQLite Namespace |
SQLiteCommand.Reset Overload List
This method resets all the prepared statements held by this instance back
to their initial states, ready to be re-executed.
Parameters
clearBindings
Non-zero if the parameter bindings should be cleared as well.
ignoreErrors
If this is zero, a SQLiteException may be thrown for any unsuccessful
return codes from the native library; otherwise, a SQLiteException
will only be thrown if the connection or its state is invalid.
See Also
SQLiteCommand Class | System.Data.SQLite Namespace |
SQLiteCommand.Reset Overload List
Verifies that all SQL queries associated with the current command text can
be successfully compiled. A SQLiteException will be raised if any errors
occur.
See Also
SQLiteCommand Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteCommandBuilder Members | System.Data.SQLite Namespace
SQLiteCommandBuilder overview
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
Default constructor
Overload List
Default constructor
public SQLiteCommandBuilder()
Initializes the command builder and associates it with the specified data
adapter.
public SQLiteCommandBuilder(SQLiteDataAdapter)
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
Default constructor
SQLiteCommandBuilder();
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace |
SQLiteCommandBuilder Constructor Overload List
Initializes the command builder and associates it with the specified data
adapter.
SQLiteCommandBuilder(
SQLiteDataAdapter adp
);
Parameters
adp
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace |
SQLiteCommandBuilder Constructor Overload List
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
Minimal amount of parameter processing. Primarily sets the DbType for the
parameter equal to the provider type in the schema
Parameters
parameter
The parameter to use in applying custom behaviors to a row
row
The row to apply the parameter to
statementType
The type of statement
whereClause
Whether the application of the parameter is part of a WHERE clause
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
Overload List
Inherited from Component.
public void Dispose()
Cleans up resources (native and managed) associated with the current
instance.
protected override void Dispose(bool)
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
Parameters
disposing
Zero when being disposed via garbage collection; otherwise, non-zero.
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace |
SQLiteCommandBuilder.Dispose Overload List
Overload List
Returns the automatically-generated SQLite command to delete rows from
the database
new public SQLiteCommand GetDeleteCommand()
Returns the automatically-generated SQLite command to delete rows from
the database
new public SQLiteCommand GetDeleteCommand(bool)
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
Return Value
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace |
SQLiteCommandBuilder.GetDeleteCommand Overload List
Parameters
useColumnsForParameterNames
Return Value
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace |
SQLiteCommandBuilder.GetDeleteCommand Overload List
Overload List
Returns the automatically-generated SQLite command to insert rows into
the database
new public SQLiteCommand GetInsertCommand()
Returns the automatically-generated SQLite command to insert rows into
the database
new public SQLiteCommand GetInsertCommand(bool)
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
Return Value
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace |
SQLiteCommandBuilder.GetInsertCommand Overload List
Parameters
useColumnsForParameterNames
Return Value
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace |
SQLiteCommandBuilder.GetInsertCommand Overload List
Overload List
Returns a named parameter for the given ordinal
protected override string GetParameterName(int)
Returns a valid named parameter
protected override string GetParameterName(string)
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
Parameters
parameterOrdinal
The i of the parameter
Return Value
Error
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace |
SQLiteCommandBuilder.GetParameterName Overload List
Parameters
parameterName
The name of the parameter
Return Value
Error
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace |
SQLiteCommandBuilder.GetParameterName Overload List
Parameters
parameterOrdinal
The index of the parameter to provide a placeholder for
Return Value
Returns a named parameter
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
Override helper, which can help the base command builder choose the
right keys for the given query
Parameters
sourceCommand
Return Value
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
Overload List
Returns the automatically-generated SQLite command to update rows in
the database
new public SQLiteCommand GetUpdateCommand()
Returns the automatically-generated SQLite command to update rows in
the database
new public SQLiteCommand GetUpdateCommand(bool)
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
Return Value
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace |
SQLiteCommandBuilder.GetUpdateCommand Overload List
Parameters
useColumnsForParameterNames
Return Value
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace |
SQLiteCommandBuilder.GetUpdateCommand Overload List
Parameters
unquotedIdentifier
The identifier to quote
Return Value
The bracketed identifier
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
Sets the handler for receiving row updating events. Used by the
DbCommandBuilder to autogenerate SQL statements that may not have
previously been generated.
Parameters
adapter
A data adapter to receive events on.
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
Parameters
quotedIdentifier
The quoted (bracketed) identifier
Return Value
The undecorated identifier
See Also
SQLiteCommandBuilder Class | System.Data.SQLite Namespace
Parameters
sender
The connection committing the transaction
e
Event arguments on the transaction
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Parameters
param0
This is always the string literal "Compare".
param1
The first string to compare.
param2
The second strnig to compare.
Return Value
A positive integer if the param1 parameter is greater than the param2
parameter, a negative integer if the param1 parameter is less than the
param2 parameter, or zero if they are equal.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
These are the supported configuration verbs for use with the native SQLite
library. They are used with the SetConfigurationOption method.
Members
Member Name Description
SQLITE_DBCONFIG_NONE This value
represents an
unknown (or
invalid) option, do
not use it.
SQLITE_DBCONFIG_LOOKASIDE This option is not
currently supported
by
System.Data.SQLite.
It may be supported
in the future.
SQLITE_DBCONFIG_ENABLE_FKEY This option is used
to enable or disable
the enforcement of
foreign key
constraints.
SQLITE_DBCONFIG_ENABLE_TRIGGER This option is used
to enable or disable
triggers.
SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER This option is used
to enable or disable
the two-argument
version of the
fts3_tokenizer()
function which is
part of the FTS3
full-text search
engine extension.
SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION This option is used
to enable or disable
the loading of
extensions.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Remarks
The ConnectionString property can contain the following parameter(s),
delimited with a semi-colon:
Parameter Values Required Default
Data Source This may be a file name, the Y
string ":memory:", or any
supported URI (starting with
SQLite 3.7.7). Starting with
release 1.0.86.0, in order to
use more than one
consecutive backslash (e.g.
for a UNC path), each of the
adjoining backslash
characters must be doubled
(e.g.
"\\Network\Share\test.db"
would become
"\\\\Network\Share\test.db").
Uri If specified, this must be a N null
file name that starts with
"file://", "file:", or "/". Any
leading "file://" or "file:"
prefix will be stripped off and
the resulting file name will
be used to open the
database.
FullUri If specified, this must be a N null
URI in a format recognized
by the SQLite core library
(starting with SQLite 3.7.7).
It will be passed verbatim to
the SQLite core library.
Version 3 N 3
UseUTF16Encoding True - The UTF-16 encoding N False
should be used.
False - The UTF-8 encoding
should be used.
DefaultDbType This is the default DbType to N null
use when one cannot be
determined based on the
column metadata and the
configured type mappings.
DefaultTypeName This is the default type name N null
to use when one cannot be
determined based on the
column metadata and the
configured type mappings.
NoDefaultFlags True - Do not combine the N False
specified (or existing)
connection flags with the
value of the DefaultFlags
property.
False - Combine the
specified (or existing)
connection flags with the
value of the DefaultFlags
property.
NoSharedFlags True - Do not combine the N False
specified (or existing)
connection flags with the
value of the SharedFlags
property.
False - Combine the
specified (or existing)
connection flags with the
value of the SharedFlags
property.
VfsName The name of the VFS to use N null
when opening the database
connection. If this is not
specified, the default VFS will
be used.
ZipVfsVersion If non-null, this is the N null
"version" of ZipVFS to use.
This requires the
System.Data.SQLite interop
assembly -AND- primary
managed assembly to be
compiled with the
INTEROP_INCLUDE_ZIPVFS
option; otherwise, this
property does nothing. The
valid values are "v2" and
"v3". Using anyother value
will cause an exception to be
thrown. Please see the
ZipVFS documentation for
more information on how to
use this parameter.
DateTimeFormat Ticks - Use the value of N ISO8601
DateTime.Ticks.
ISO8601 - Use the ISO-
8601 format. Uses the "yyyy-
MM-dd HH:mm:ss.FFFFFFFK"
format for UTC DateTime
values and "yyyy-MM-dd
HH:mm:ss.FFFFFFF" format
for local DateTime values).
JulianDay - The interval of
time in days and fractions of
a day since January 1, 4713
BC.
UnixEpoch - The whole
number of seconds since the
Unix epoch (January 1,
1970).
InvariantCulture - Any
culture-independent string
value that the .NET
Framework can interpret as a
valid DateTime.
CurrentCulture - Any string
value that the .NET
Framework can interpret as a
valid DateTime using the
current culture.
DateTimeKind Unspecified - Not specified N Unspecified
as either UTC or local time.
Utc - The time represented is
UTC.
Local - The time represented
is local time.
DateTimeFormatString The exact DateTime format N null
string to use for all
formatting and parsing of all
DateTime values for this
connection.
BaseSchemaName Some base data classes in N sqlite_defa
the framework (e.g. those
that build SQL queries
dynamically) assume that an
ADO.NET provider cannot
support an alternate catalog
(i.e. database) without
supporting alternate schemas
as well; however, SQLite does
not fit into this model.
Therefore, this value is used
as a placeholder and
removed prior to preparing
any SQL statements that
may contain it.
BinaryGUID True - Store GUID columns N True
in binary form
False - Store GUID columns
as text
Cache Size If the argument N is positive N -2000
then the suggested cache
size is set to N. If the
argument N is negative, then
the number of cache pages is
adjusted to use
approximately abs(N*4096)
bytes of memory. Backwards
compatibility note: The
behavior of cache_size with a
negative N was different in
SQLite versions prior to
3.7.10. In version 3.7.9 and
earlier, the number of pages
in the cache was set to the
absolute value of N.
Synchronous Normal - Normal file N Full
flushing behavior
Full - Full flushing after all
writes
Off - Underlying OS flushes
I/O's
Page Size {size in bytes} N 4096
Password {password} - Using this N
parameter requires that the
CryptoAPI based codec be
enabled at compile-time for
both the native interop
assembly and the core
managed assemblies;
otherwise, using this
parameter may result in an
exception being thrown when
attempting to open the
connection.
HexPassword {hexPassword} - Must N
contain a sequence of zero or
more hexadecimal encoded
byte values without a leading
"0x" prefix. Using this
parameter requires that the
CryptoAPI based codec be
enabled at compile-time for
both the native interop
assembly and the core
managed assemblies;
otherwise, using this
parameter may result in an
exception being thrown when
attempting to open the
connection.
Enlist Y - Automatically enlist in N Y
distributed transactions
N - No automatic enlistment
Pooling True - Use connection N False
pooling.
False - Do not use
connection pooling.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteConnection Members | System.Data.SQLite Namespace
SQLiteConnection overview
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Overload List
Default constructor
public SQLiteConnection()
Clones the settings and connection string from an existing connection. If
the existing connection is already open, this function will open its own
connection, enumerate any attached databases of the original connection,
and automatically attach to them.
public SQLiteConnection(SQLiteConnection)
Initializes the connection with the specified connection string.
public SQLiteConnection(string)
Initializes the connection with the specified connection string.
public SQLiteConnection(string,bool)
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Default constructor
SQLiteConnection();
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection Constructor Overload List
SQLiteConnection(
string connectionString
);
Parameters
connectionString
The connection string to use.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection Constructor Overload List
SQLiteConnection(
string connectionString,
bool parseViaFramework
);
Parameters
connectionString
The connection string to use.
parseViaFramework
Non-zero to parse the connection string using the built-in (i.e.
framework provided) parser when opening the connection.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection Constructor Overload List
SQLiteConnection(
SQLiteConnection connection
);
Parameters
connection
The connection to copy the settings from.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection Constructor Overload List
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Gets/sets the default busy timeout to use with the SQLite core library. This
is only used when opening a connection.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Implements
IDbConnection.ConnectionString
Remarks
For the complete list of supported connection string properties, please see
SQLiteConnection.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Implements
IDbConnection.Database
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Gets/sets the default database type for this connection. This value will
only be used when not null.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
The default connection flags to be used for all opened connections when
they are not present in the connection string.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Gets/sets the default database type name for this connection. This value
will only be used when not null.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Returns the fully qualified path and file name for the currently open
database, if any.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Gets/sets the extra behavioral flags for this connection. See the
SQLiteConnectionFlags enumeration for a list of possible values.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
This method returns the string whose value contains the unique identifier
for the source checkout used to build the interop assembly. If the SQLite
interop assembly is not in use or the necessary information cannot be
obtained for any reason, a null value may be returned.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
This method returns the version of the interop SQLite assembly used. If
the SQLite interop assembly is not in use or the necessary information
cannot be obtained for any reason, a null value may be returned.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Returns the rowid of the most recent successful INSERT into the database
from this connection.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Returns the maximum amount of memory (in bytes) used by the SQLite
core library since the high-water mark was last reset.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Returns the amount of memory (in bytes) currently in use by the SQLite
core library.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Returns the number of pool entries for the file name associated with this
connection.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
This method returns the string whose value contains the unique identifier
for the source checkout used to build the managed components currently
executing. If the necessary information cannot be obtained for any reason,
a null value may be returned.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
This method returns the string whose value is the same as the
SQLITE_SOURCE_ID C preprocessor macro used when compiling the
SQLite core library.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Implements
IDbConnection.State
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Gets/sets the VFS name for this connection. This value will only be used
when opening the database.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Parameters
typeName
The case-insensitive database type name (e.g. "MYDATE"). The value of
this parameter cannot be null. Using an empty string value (or a string
value consisting entirely of whitespace) for this parameter is not
recommended.
dataType
The DbType value that should be associated with the specified type
name.
primary
Non-zero if this mapping should be considered to be the primary one
for the specified DbType.
Return Value
A negative value if nothing was done. Zero if no per-connection type
mappings were replaced (i.e. it was a pure add operation). More than zero
if some per-connection type mappings were replaced.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Parameters
destination
The destination database connection.
destinationName
The destination database name.
sourceName
The source database name.
pages
The number of pages to copy or negative to copy all remaining pages.
callback
The method to invoke between each step of the backup process. This
parameter may be null (i.e. no callbacks will be performed).
retryMilliseconds
The number of milliseconds to sleep after encountering a locking error
during the backup process. A value less than zero means that no sleep
should be performed.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Parameters
isolationLevel
Supported isolation levels are Unspecified, Serializable, and
ReadCommitted
Return Value
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Overload List
Creates a new SQLiteTransaction if one isn't already active on the
connection.
new public SQLiteTransaction BeginTransaction()
Obsolete. OBSOLETE. Creates a new SQLiteTransaction if one isn't
already active on the connection.
public SQLiteTransaction BeginTransaction(bool)
Creates a new SQLiteTransaction if one isn't already active on the
connection.
new public SQLiteTransaction BeginTransaction(IsolationLevel)
Obsolete. OBSOLETE. Creates a new SQLiteTransaction if one isn't
already active on the connection.
public SQLiteTransaction BeginTransaction(IsolationLevel,bool)
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Return Value
Returns the new transaction object.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.BeginTransaction Overload List
Parameters
deferredLock
When TRUE, SQLite defers obtaining a write lock until a write operation
is requested. When FALSE, a writelock is obtained immediately. The
default is false, but in a multi-threaded multi-writer environment, one
may instead choose to lock the database immediately to avoid any
possible writer deadlock.
Return Value
Returns a SQLiteTransaction object.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.BeginTransaction Overload List
Parameters
isolationLevel
Supported isolation levels are Serializable, ReadCommitted and
Unspecified.
Return Value
Returns a SQLiteTransaction object.
Remarks
Unspecified will use the default isolation level specified in the connection
string. If no isolation level is specified in the connection string,
Serializable is used. Serializable transactions are the default. In this
mode, the engine gets an immediate lock on the database, and no other
threads may begin a transaction. Other threads may read from the
database, but not write. With a ReadCommitted isolation level, locks are
deferred and elevated as needed. It is possible for multiple threads to start
a transaction in ReadCommitted mode, but if a thread attempts to commit
a transaction while another thread has a ReadCommitted lock, it may
timeout or cause a deadlock on both threads until both threads'
CommandTimeout's are reached.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.BeginTransaction Overload List
Parameters
isolationLevel
This parameter is ignored.
deferredLock
When TRUE, SQLite defers obtaining a write lock until a write operation
is requested. When FALSE, a writelock is obtained immediately. The
default is TRUE, but in a multi-threaded multi-writer environment, one
may instead choose to lock the database immediately to avoid any
possible writer deadlock.
Return Value
Returns a SQLiteTransaction object.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.BeginTransaction Overload List
Overload List
Attempts to bind the specified SQLiteFunction object instance to this
connection.
public void BindFunction(SQLiteFunctionAttribute,SQLiteFunction)
Attempts to bind the specified SQLiteFunction object instance to this
connection.
public void BindFunction(SQLiteFunctionAttribute,Delegate,Delegate)
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Parameters
functionAttribute
The SQLiteFunctionAttribute object instance containing the metadata
for the function to be bound.
function
The SQLiteFunction object instance that implements the function to be
bound.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.BindFunction Overload List
Parameters
functionAttribute
The SQLiteFunctionAttribute object instance containing the metadata
for the function to be bound.
callback1
A Delegate object instance that helps implement the function to be
bound. For scalar functions, this corresponds to the
SQLiteInvokeDelegate type. For aggregate functions, this corresponds
to the SQLiteStepDelegate type. For collation functions, this
corresponds to the SQLiteCompareDelegate type.
callback2
A Delegate object instance that helps implement the function to be
bound. For aggregate functions, this corresponds to the
SQLiteFinalDelegate type. For other callback types, it is not used and
must be null.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.BindFunction Overload List
This method causes any pending database operation to abort and return at
its earliest opportunity. This routine is typically called in response to a
user action such as pressing "Cancel" or Ctrl-C where the user wants a
long query operation to halt immediately. It is safe to call this routine from
any thread. However, it is not safe to call this routine with a database
connection that is closed or might close before this method returns.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
This method is not implemented; however, the Changed event will still be
raised.
Parameters
databaseName
Implements
IDbConnection.ChangeDatabase
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Overload List
Change the password (or assign a password) to an open database.
public void ChangePassword(byte[])
Change the password (or assign a password) to an open database.
public void ChangePassword(string)
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Parameters
newPassword
The new password to assign to the database
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.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.ChangePassword Overload List
Parameters
newPassword
The new password to assign to the database
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.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.ChangePassword Overload List
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Return Value
The total number of per-connection settings cleared.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Clears the connection pool associated with the connection. Any other
active connections using the same database file will be discarded instead
of returned to the pool when they are closed.
Parameters
connection
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Return Value
The total number of per-connection type callbacks cleared.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Return Value
The total number of per-connection type mappings cleared.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Return Value
Implements
ICloneable.Clone
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Implements
IDbConnection.Close
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Return Value
Returns a new command object already assigned to this connection.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Return Value
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Creates a database file. This just creates a zero-byte file which SQLite will
turn into a database when the file is opened properly.
Parameters
databaseFileName
The file to create
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Parameters
nativeHandle
This must be a native database connection handle returned by the
SQLite core library and it must remain valid and open during the entire
duration of the calling method.
Return Value
The new managed database connection handle or null if it cannot be
created.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Parameters
module
The module object to be used when creating the disposable module.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Overload List
Disposes and finalizes the connection, if applicable.
new public void Dispose()
Cleans up resources (native and managed) associated with the current
instance.
protected override void Dispose(bool)
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Implements
IDisposable.Dispose
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.Dispose Overload List
Parameters
disposing
Zero when being disposed via garbage collection; otherwise, non-zero.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.Dispose Overload List
Parameters
enable
True to enable loading of extensions, false to disable.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Parameters
transaction
The distributed transaction to enlist in
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Returns various global memory statistics for the SQLite core library via a
dictionary of key/value pairs. Currently, only the "MemoryUsed" and
"MemoryHighwater" keys are returned and they have values that
correspond to the values that could be obtained via the MemoryUsed and
MemoryHighwater connection properties.
Parameters
statistics
This dictionary will be populated with the global memory statistics. It
will be created if necessary.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
The following commands are used to extract schema information out of the
database. Valid schema types are:
MetaDataCollections
DataSourceInformation
Catalogs
Columns
ForeignKeys
Indexes
IndexColumns
Tables
Views
ViewColumns
Overload List
Returns the MetaDataCollections schema
public override DataTable GetSchema()
Returns schema information of the specified collection
public override DataTable GetSchema(string)
Retrieves schema information using the specified constraint(s) for the
specified collection
public override DataTable GetSchema(string,string[])
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Return Value
A DataTable of the MetaDataCollections schema
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.GetSchema Overload List
Parameters
collectionName
The schema collection to retrieve
Return Value
A DataTable of the specified collection
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.GetSchema Overload List
Parameters
collectionName
The collection to retrieve.
restrictionValues
The restrictions to impose. Typically, this may include:
restrictionValues element
index usage
0 The database (or catalog) name,
if applicable.
1 The schema name. This is not
used by this provider.
2 The table name, if applicable.
3 Depends on collectionName. When
"IndexColumns", it is the index
name; otherwise, it is the column
name.
4 Depends on collectionName. When
"IndexColumns", it is the column
name; otherwise, it is not used.
Return Value
A DataTable of the specified collection
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.GetSchema Overload List
Send comments on this topic.
Generated from assembly System.Data.SQLite [1.0.104.0] by NDoc3
SQLite ADO.NET Provider
SQLiteConnection.GetTypeMappings Method
Return Value
The per-connection type mappings -OR- null if they are unavailable.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Parameters
name
The name of a database associated with this connection -OR- null for
the main database.
Return Value
Non-zero if this connection to the specified database should be considered
read-only.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Loads a SQLite extension library from the named dynamic link library file.
Overload List
Loads a SQLite extension library from the named dynamic link library file.
public void LoadExtension(string)
Loads a SQLite extension library from the named dynamic link library file.
public void LoadExtension(string,string)
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Loads a SQLite extension library from the named dynamic link library file.
Parameters
fileName
The name of the dynamic link library file containing the extension.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.LoadExtension Overload List
Loads a SQLite extension library from the named dynamic link library file.
Parameters
fileName
The name of the dynamic link library file containing the extension.
procName
The name of the exported function used to initialize the extension. If
null, the default "sqlite3_extension_init" will be used.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.LoadExtension Overload List
Overload List
Add a log message via the SQLite sqlite3_log interface.
public void LogMessage(SQLiteErrorCode,string)
Add a log message via the SQLite sqlite3_log interface.
public void LogMessage(int,string)
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.LogMessage Overload List
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.LogMessage Overload List
Implements
IDbConnection.Open
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Return Value
The current connection object.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Overload List
Attempts to free as much heap memory as possible for this database
connection.
public void ReleaseMemory()
Attempts to free N bytes of heap memory by deallocating non-essential
memory allocations held by the database library. Memory used to cache
database pages to improve performance is an example of non-essential
memory. This is a no-op returning zero if the SQLite core library was not
compiled with the compile-time option
SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset
and/or compact the Win32 native heap, if applicable.
public static SQLiteErrorCode ReleaseMemory(int,bool,bool,ref int,ref bool,r
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.ReleaseMemory Overload List
Parameters
nBytes
The requested number of bytes to free.
reset
Non-zero to attempt a heap reset.
compact
Non-zero to attempt heap compaction.
nFree
The number of bytes actually freed. This value may be zero.
resetOk
This value will be non-zero if the heap reset was successful.
nLargest
The size of the largest committed free block in the heap, in bytes. This
value will be zero unless heap compaction is enabled.
Return Value
A standard SQLite return code (i.e. zero for success and non-zero for
failure).
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.ReleaseMemory Overload List
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Parameters
count
The number of times to retry the I/O operation. A negative value will
cause the current count to be queried and replace that negative value.
interval
The number of milliseconds to wait before retrying the I/O operation.
This number is multiplied by the number of retry attempts so far to
come up with the final number of milliseconds to wait. A negative value
will cause the current interval to be queried and replace that negative
value.
Return Value
Zero for success, non-zero for error.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Sets the chunk size for the primary file associated with this database
connection.
Parameters
size
The new chunk size for the main database, in bytes.
Return Value
Zero for success, non-zero for error.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Parameters
option
The database configuration option to enable or disable.
enable
True to enable loading of extensions, false to disable.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Sets the status of the memory usage tracking subsystem in the SQLite
core library. By default, this is enabled. If this is disabled, memory usage
tracking will not be performed. This is not really a per-connection value, it
is global to the process.
Parameters
value
Non-zero to enable memory usage tracking, zero otherwise.
Return Value
A standard SQLite return code (i.e. zero for success and non-zero for
failure).
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Overload List
Sets the password for a password-protected database. A password-
protected database is unusable for any operation until the password has
been set.
public void SetPassword(byte[])
Sets the password for a password-protected database. A password-
protected database is unusable for any operation until the password has
been set.
public void SetPassword(string)
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Parameters
databasePassword
The password for the database
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.SetPassword Overload List
Parameters
databasePassword
The password for the database
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.SetPassword Overload List
Sets, resets, or clears the per-connection type callbacks for the specified
database type name.
Parameters
typeName
The database type name.
callbacks
The object holding the callbacks for the database type name. If this
parameter is null, any callbacks for the database type name will be
removed if they are present.
Return Value
Non-zero if callbacks were set or removed; otherwise, zero.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Passes a shutdown request to the SQLite core library. Does not throw an
exception if the shutdown request fails.
Overload List
Passes a shutdown request to the SQLite core library. Does not throw an
exception if the shutdown request fails.
public SQLiteErrorCode Shutdown()
Passes a shutdown request to the SQLite core library. Throws an exception
if the shutdown request fails and the no-throw parameter is non-zero.
public static void Shutdown(bool,bool)
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Passes a shutdown request to the SQLite core library. Does not throw an
exception if the shutdown request fails.
Return Value
A standard SQLite return code (i.e. zero for success and non-zero for
failure).
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.Shutdown Overload List
Parameters
directories
Non-zero to reset the database and temporary directories to their
default values, which should be null for both.
noThrow
When non-zero, throw an exception if the shutdown request fails.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace |
SQLiteConnection.Shutdown Overload List
Parameters
typeName
The database type name.
callbacks
Upon success, this parameter will contain the object holding the
callbacks for the database type name. Upon failure, this parameter will
be null.
Return Value
Non-zero upon success; otherwise, zero.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
This method unbinds all registered (known) functions -OR- all previously
bound user-defined functions from this connection.
Parameters
registered
Non-zero to unbind all registered (known) functions -OR- zero to
unbind all functions currently bound to the connection.
Return Value
Non-zero if all the specified user-defined functions were unbound.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Parameters
functionAttribute
The SQLiteFunctionAttribute object instance containing the metadata
for the function to be unbound.
Return Value
Non-zero if the function was unbound.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
This event is raised periodically during long running queries. Changing the
value of the ReturnCode property will determine if the operation in
progress will continue or be interrupted. For the entire duration of the
event, the associated connection and statement objects must not be
modified, either directly or indirectly, by the called code.
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
See Also
SQLiteConnection Class | System.Data.SQLite Namespace
Parameters
sender
The connection involved.
e
Extra information about the event.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Members
Member Name Description
Invalid Not used.
Unknown Not used.
Opening The connection is being opened.
ConnectionString The connection string has been
parsed.
Opened The connection was opened.
ChangeDatabase The ChangeDatabase method was
called on the connection.
NewTransaction A transaction was created using the
connection.
EnlistTransaction The connection was enlisted into a
transaction.
NewCommand A command was created using the
connection.
NewDataReader A data reader was created using
the connection.
NewCriticalHandle An instance of a CriticalHandle
derived class has been created to
wrap a native resource.
Closing The connection is being closed.
Closed The connection was closed.
DisposingCommand A command is being disposed.
DisposingDataReader A data reader is being disposed.
ClosingDataReader A data reader is being closed.
OpenedFromPool A native resource was opened (i.e.
obtained) from the pool.
ClosedToPool A native resource was closed (i.e.
released) to the pool.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Members
Member Name Description Va
None No extra flags. 0
LogPrepare Enable logging of all SQL 1
statements to be
prepared.
LogPreBind Enable logging of all 2
bound parameter types
and raw values.
LogBind Enable logging of all 4
bound parameter
strongly typed values.
LogCallbackException Enable logging of all 8
exceptions caught from
user-provided managed
code called from native
code via delegates.
LogBackup Enable logging of backup 16
API errors.
NoExtensionFunctions Skip adding the 32
extension functions
provided by the native
interop assembly.
BindUInt32AsInt64 When binding parameter 64
values with the UInt32
type, use the interop
method that accepts an
Int64 value.
BindAllAsText When binding parameter 12
values, always bind them
as though they were
plain text (i.e. no
numeric, date/time, or
other conversions should
be attempted).
GetAllAsText When returning column 25
values, always return
them as though they
were plain text (i.e. no
numeric, date/time, or
other conversions should
be attempted).
NoLoadExtension Prevent this 51
SQLiteConnection object
instance from loading
extensions.
NoCreateModule Prevent this 10
SQLiteConnection object
instance from creating
virtual table modules.
NoBindFunctions Skip binding any 20
functions provided by
other managed
assemblies when
opening the connection.
NoLogModule Skip setting the logging 40
related properties of the
SQLiteModule object
instance that was passed
to the CreateModule
method.
LogModuleError Enable logging of all 81
virtual table module
errors seen by the
SetTableError method.
LogModuleException Enable logging of certain 16
virtual table module
exceptions that cannot
be easily discovered via
other means.
TraceWarning Enable tracing of 32
potentially important
[non-fatal] error
conditions that cannot be
easily reported through
other means.
ConvertInvariantText When binding parameter 65
values, always use the
invariant culture when
converting their values
from strings.
BindInvariantText When binding parameter 13
values, always use the
invariant culture when
converting their values
to strings.
NoConnectionPool Disable using the 26
connection pool by
default. If the "Pooling"
connection string
property is specified, its
value will override this
flag. The precise
outcome of combining
this flag with the
UseConnectionPool flag
is unspecified; however,
one of the flags will be in
effect.
UseConnectionPool Enable using the 52
connection pool by
default. If the "Pooling"
connection string
property is specified, its
value will override this
flag. The precise
outcome of combining
this flag with the
NoConnectionPool flag is
unspecified; however,
one of the flags will be in
effect.
UseConnectionTypes Enable using per- 10
connection mappings
between type names and
DbType values. Also see
the ClearTypeMappings,
GetTypeMappings, and
AddTypeMapping
methods. These per-
connection mappings,
when present, override
the corresponding global
mappings.
NoGlobalTypes Disable using global 20
mappings between type
names and DbType
values. This may be
useful in some very
narrow cases; however,
if there are no per-
connection type
mappings, the fallback
defaults will be used for
both type names and
their associated DbType
values. Therefore, use of
this flag is not
recommended.
StickyHasRows When the HasRows 41
property is used, it
should return non-zero if
there were ever any
rows in the associated
result sets.
StrictEnlistment Enable "strict" 83
transaction enlistment
semantics. Setting this
flag will cause an
exception to be thrown if
an attempt is made to
enlist in a transaction
with an unavailable or
unsupported isolation
level. In the future,
more extensive checks
may be enabled by this
flag as well.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteConnectionStringBuilder Members | System.Data.SQLite Namespace
SQLiteConnectionStringBuilder overview
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
Overload List
Default constructor
public SQLiteConnectionStringBuilder()
Constructs a new instance of the class using the specified connection
string.
public SQLiteConnectionStringBuilder(string)
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
Default constructor
SQLiteConnectionStringBuilder();
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace |
SQLiteConnectionStringBuilder Constructor Overload List
SQLiteConnectionStringBuilder(
string connectionString
);
Parameters
connectionString
The connection string to parse
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace |
SQLiteConnectionStringBuilder Constructor Overload List
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
Gets/Sets the placeholder base schema name used for .NET Framework
compatibility purposes.
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
Gets/sets the busy timeout to use with the SQLite core library.
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
Gets/sets the DateTime format string used for formatting and parsing
purposes.
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
An alternate to the data source property that uses the SQLite URI syntax.
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
If enabled, uses the legacy 3.xx format for maximum compatibility, but
results in larger database sizes.
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
When enabled, the database will be opened for read-only access and
writing will be disabled.
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
If enabled, attempt to resolve the provided data source file name to a full
path before opening.
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
Gets/Sets the encoding for the connection string. The default is "False"
which indicates UTF-8 encoding.
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
Parameters
keyword
The keyword to retrieve settings for
value
The resulting parameter value
Return Value
Returns true if the value was found and returned
See Also
SQLiteConnectionStringBuilder Class | System.Data.SQLite Namespace
This class represents a context from the SQLite core library that can be
passed to the sqlite3_result_*() and associated functions.
For a list of all members of this type, see SQLiteContext Members .
System.Object SQLiteContext
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteContext Members | System.Data.SQLite Namespace
SQLiteContext overview
See Also
SQLiteContext Class | System.Data.SQLite Namespace
The properties of the SQLiteContext class are listed below. For a complete
list of SQLiteContext class members, see the SQLiteContext Members
topic.
See Also
SQLiteContext Class | System.Data.SQLite Namespace
Returns the underlying SQLite native handle associated with this object
instance.
Implements
ISQLiteNativeHandle.NativeHandle
See Also
SQLiteContext Class | System.Data.SQLite Namespace
The methods of the SQLiteContext class are listed below. For a complete
list of SQLiteContext class members, see the SQLiteContext Members
topic.
See Also
SQLiteContext Class | System.Data.SQLite Namespace
Parameters
value
The Byte array value to use.
See Also
SQLiteContext Class | System.Data.SQLite Namespace
Parameters
value
The Double value to use.
See Also
SQLiteContext Class | System.Data.SQLite Namespace
Sets the context result to the specified String value containing an error
message.
Parameters
value
The String value containing the error message text. This value will be
converted to the UTF-8 encoding prior to being used.
See Also
SQLiteContext Class | System.Data.SQLite Namespace
Parameters
value
The SQLiteErrorCode value to use.
See Also
SQLiteContext Class | System.Data.SQLite Namespace
See Also
SQLiteContext Class | System.Data.SQLite Namespace
See Also
SQLiteContext Class | System.Data.SQLite Namespace
Parameters
value
The Int32 value to use.
See Also
SQLiteContext Class | System.Data.SQLite Namespace
Parameters
value
The Int64 value to use.
See Also
SQLiteContext Class | System.Data.SQLite Namespace
See Also
SQLiteContext Class | System.Data.SQLite Namespace
Parameters
value
The String value to use. This value will be converted to the UTF-8
encoding prior to being used.
See Also
SQLiteContext Class | System.Data.SQLite Namespace
Parameters
value
The SQLiteValue to use.
See Also
SQLiteContext Class | System.Data.SQLite Namespace
Parameters
value
The number of zero bytes to use for the BLOB context result.
See Also
SQLiteContext Class | System.Data.SQLite Namespace
This base class provides datatype conversion services for the SQLite
provider.
For a list of all members of this type, see SQLiteConvert Members .
System.Object SQLiteConvert
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteConvert Members | System.Data.SQLite Namespace
SQLiteConvert overview
See Also
SQLiteConvert Class | System.Data.SQLite Namespace
The fields of the SQLiteConvert class are listed below. For a complete list
of SQLiteConvert class members, see the SQLiteConvert Members topic.
See Also
SQLiteConvert Class | System.Data.SQLite Namespace
The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC).
See Also
SQLiteConvert Class | System.Data.SQLite Namespace
The methods of the SQLiteConvert class are listed below. For a complete
list of SQLiteConvert class members, see the SQLiteConvert Members
topic.
See Also
SQLiteConvert Class | System.Data.SQLite Namespace
Parameters
value
The value to be converted to a string.
Return Value
A null value will be returned if the original value is null -OR- the original
value is Value. Otherwise, the original value will be converted to a string,
using its (possibly overridden) ToString method and then returned.
See Also
SQLiteConvert Class | System.Data.SQLite Namespace
Parameters
source
Source string to split apart
separator
Separator character
Return Value
A string array of the split up elements
Remarks
This split function works somewhat like the String.Split() function in that it
breaks apart a string into pieces and returns the pieces as an array. The
primary differences are:
Only one character can be provided as a separator character
Quoted text inside the string is skipped over when searching
for the separator, and the quotes are removed.
Thus, if splitting the following string looking for a comma:
One,Two, "Three, Four", Five
Note that the leading and trailing spaces were removed from each item
during the split.
See Also
SQLiteConvert Class | System.Data.SQLite Namespace
Overload List
Convert a value to true or false.
public static bool ToBoolean(object)
Attempts to convert a String into a Boolean.
public static bool ToBoolean(string)
See Also
SQLiteConvert Class | System.Data.SQLite Namespace
Parameters
source
A string or number representing true or false
Return Value
See Also
SQLiteConvert Class | System.Data.SQLite Namespace |
SQLiteConvert.ToBoolean Overload List
Parameters
source
The String to convert, cannot be null.
Return Value
The converted Boolean value.
Remarks
The supported strings are "yes", "no", "y", "n", "on", "off", "0", "1", as well
as any prefix of the strings FalseString and TrueString. All strings are
treated in a case-insensitive manner.
See Also
SQLiteConvert Class | System.Data.SQLite Namespace |
SQLiteConvert.ToBoolean Overload List
Overload List
Converts a julianday value into a DateTime
public DateTime ToDateTime(double)
Converts a julianday value into a DateTime
public static DateTime ToDateTime(double,DateTimeKind)
Converts a string into a DateTime, using the DateTimeFormat,
DateTimeKind, and DateTimeFormatString specified for the connection
when it was opened.
public DateTime ToDateTime(string)
Converts a string into a DateTime, using the specified DateTimeFormat,
DateTimeKind and DateTimeFormatString.
public static DateTime ToDateTime(string,SQLiteDateFormats,DateTimeKind
See Also
SQLiteConvert Class | System.Data.SQLite Namespace
Parameters
julianDay
The value to convert
Return Value
A .NET DateTime
See Also
SQLiteConvert Class | System.Data.SQLite Namespace |
SQLiteConvert.ToDateTime Overload List
Parameters
julianDay
The value to convert
kind
The DateTimeKind to use.
Return Value
A .NET DateTime
See Also
SQLiteConvert Class | System.Data.SQLite Namespace |
SQLiteConvert.ToDateTime Overload List
Parameters
dateText
The string containing either a long integer number of 100-nanosecond
units since System.DateTime.MinValue, a Julian day double, an integer
number of seconds since the Unix epoch, a culture-independent
formatted date and time string, a formatted date and time string in the
current culture, or an ISO8601-format string.
Return Value
A DateTime value
Remarks
Acceptable ISO8601 DateTime formats are:
THHmmssK
THHmmK
HH:mm:ss.FFFFFFFK
HH:mm:ssK
HH:mmK
yyyy-MM-dd HH:mm:ss.FFFFFFFK
yyyy-MM-dd HH:mm:ssK
yyyy-MM-dd HH:mmK
yyyy-MM-ddTHH:mm:ss.FFFFFFFK
yyyy-MM-ddTHH:mmK
yyyy-MM-ddTHH:mm:ssK
yyyyMMddHHmmssK
yyyyMMddHHmmK
yyyyMMddTHHmmssFFFFFFFK
THHmmss
THHmm
HH:mm:ss.FFFFFFF
HH:mm:ss
HH:mm
yyyy-MM-dd HH:mm:ss.FFFFFFF
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd HH:mm
yyyy-MM-ddTHH:mm:ss.FFFFFFF
yyyy-MM-ddTHH:mm
yyyy-MM-ddTHH:mm:ss
yyyyMMddHHmmss
yyyyMMddHHmm
yyyyMMddTHHmmssFFFFFFF
yyyy-MM-dd
yyyyMMdd
yy-MM-dd
If the string cannot be matched to one of the above formats -OR- the
DateTimeFormatString if one was provided, an exception will be thrown.
See Also
SQLiteConvert Class | System.Data.SQLite Namespace |
SQLiteConvert.ToDateTime Overload List
Parameters
dateText
The string containing either a long integer number of 100-nanosecond
units since System.DateTime.MinValue, a Julian day double, an integer
number of seconds since the Unix epoch, a culture-independent
formatted date and time string, a formatted date and time string in the
current culture, or an ISO8601-format string.
format
The SQLiteDateFormats to use.
kind
The DateTimeKind to use.
formatString
The DateTime format string to use.
Return Value
A DateTime value
Remarks
Acceptable ISO8601 DateTime formats are:
THHmmssK
THHmmK
HH:mm:ss.FFFFFFFK
HH:mm:ssK
HH:mmK
yyyy-MM-dd HH:mm:ss.FFFFFFFK
yyyy-MM-dd HH:mm:ssK
yyyy-MM-dd HH:mmK
yyyy-MM-ddTHH:mm:ss.FFFFFFFK
yyyy-MM-ddTHH:mmK
yyyy-MM-ddTHH:mm:ssK
yyyyMMddHHmmssK
yyyyMMddHHmmK
yyyyMMddTHHmmssFFFFFFFK
THHmmss
THHmm
HH:mm:ss.FFFFFFF
HH:mm:ss
HH:mm
yyyy-MM-dd HH:mm:ss.FFFFFFF
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd HH:mm
yyyy-MM-ddTHH:mm:ss.FFFFFFF
yyyy-MM-ddTHH:mm
yyyy-MM-ddTHH:mm:ss
yyyyMMddHHmmss
yyyyMMddHHmm
yyyyMMddTHHmmssFFFFFFF
yyyy-MM-dd
yyyyMMdd
yy-MM-dd
If the string cannot be matched to one of the above formats -OR- the
DateTimeFormatString if one was provided, an exception will be thrown.
See Also
SQLiteConvert Class | System.Data.SQLite Namespace |
SQLiteConvert.ToDateTime Overload List
Parameters
value
The DateTime to convert
Return Value
The JulianDay value the Datetime represents
See Also
SQLiteConvert Class | System.Data.SQLite Namespace
Overload List
Inherited from Object.
public virtual string ToString()
Converts a string into a DateTime, using the DateTimeFormat,
DateTimeKind, and DateTimeFormatString specified for the connection
when it was opened.
public string ToString(DateTime)
Converts a string into a DateTime, using the DateTimeFormat,
DateTimeKind, and DateTimeFormatString specified for the connection
when it was opened.
public static string ToString(DateTime,SQLiteDateFormats,DateTimeKind,str
Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
public virtual string ToString(IntPtr,int)
See Also
SQLiteConvert Class | System.Data.SQLite Namespace
Parameters
dateValue
The DateTime value to convert
Return Value
Either a string containing the long integer number of 100-nanosecond
units since System.DateTime.MinValue, a Julian day double, an integer
number of seconds since the Unix epoch, a culture-independent formatted
date and time string, a formatted date and time string in the current
culture, or an ISO8601-format date/time string.
See Also
SQLiteConvert Class | System.Data.SQLite Namespace |
SQLiteConvert.ToString Overload List
Parameters
dateValue
The DateTime value to convert
format
The SQLiteDateFormats to use.
kind
The DateTimeKind to use.
formatString
The DateTime format string to use.
Return Value
Either a string containing the long integer number of 100-nanosecond
units since System.DateTime.MinValue, a Julian day double, an integer
number of seconds since the Unix epoch, a culture-independent formatted
date and time string, a formatted date and time string in the current
culture, or an ISO8601-format date/time string.
See Also
SQLiteConvert Class | System.Data.SQLite Namespace |
SQLiteConvert.ToString Overload List
Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
Parameters
nativestring
The pointer to the memory where the UTF-8 string is encoded
nativestringlen
The number of bytes to decode
Return Value
A string containing the translated character(s)
See Also
SQLiteConvert Class | System.Data.SQLite Namespace |
SQLiteConvert.ToString Overload List
Queries and returns the string representation for an object, using the
specified (or current) format provider.
Parameters
obj
The object instance to return the string representation for.
provider
The format provider to use -OR- null if the current format provider for
the thread should be used instead.
Return Value
The string representation for the object instance -OR- null if the object
instance is also null.
See Also
SQLiteConvert Class | System.Data.SQLite Namespace
Converts a DateTime struct to the whole number of seconds since the Unix
epoch.
Parameters
value
The DateTime to convert
Return Value
The whole number of seconds since the Unix epoch
See Also
SQLiteConvert Class | System.Data.SQLite Namespace
Overload List
Convert a DateTime to a UTF-8 encoded, zero-terminated byte array.
public byte[] ToUTF8(DateTime)
Converts a string to a UTF-8 encoded byte array sized to include a null-
terminating character.
public static byte[] ToUTF8(string)
See Also
SQLiteConvert Class | System.Data.SQLite Namespace
Parameters
dateTimeValue
The DateTime to convert.
Return Value
The UTF-8 encoded string, including a 0 terminating byte at the end of the
array.
Remarks
This function is a convenience function, which first calls ToString() on the
DateTime, and then calls ToUTF8() with the string result.
See Also
SQLiteConvert Class | System.Data.SQLite Namespace |
SQLiteConvert.ToUTF8 Overload List
Parameters
sourceText
The string to convert to UTF-8
Return Value
A byte array containing the converted string plus an extra 0 terminating
byte at the end of the array.
See Also
SQLiteConvert Class | System.Data.SQLite Namespace |
SQLiteConvert.ToUTF8 Overload List
Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
Parameters
nativestring
The pointer to the memory where the UTF-8 string is encoded
nativestringlen
The number of bytes to decode
Return Value
A string containing the translated character(s)
See Also
SQLiteConvert Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteDataAdapter Members | System.Data.SQLite Namespace
SQLiteDataAdapter overview
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace
Overload List
Default constructor.
public SQLiteDataAdapter()
Constructs a data adapter using the specified select command.
public SQLiteDataAdapter(SQLiteCommand)
Constructs a data adapter with the supplied select command text and
associated with the specified connection.
public SQLiteDataAdapter(string,SQLiteConnection)
Constructs a data adapter with the specified select command text, and
using the specified database connection string.
public SQLiteDataAdapter(string,string)
Constructs a data adapter with the specified select command text, and
using the specified database connection string.
public SQLiteDataAdapter(string,string,bool)
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace
Default constructor.
SQLiteDataAdapter();
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace |
SQLiteDataAdapter Constructor Overload List
SQLiteDataAdapter(
SQLiteCommand cmd
);
Parameters
cmd
The select command to associate with the adapter.
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace |
SQLiteDataAdapter Constructor Overload List
Constructs a data adapter with the supplied select command text and
associated with the specified connection.
SQLiteDataAdapter(
string commandText,
SQLiteConnection connection
);
Parameters
commandText
The select command text to associate with the data adapter.
connection
The connection to associate with the select command.
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace |
SQLiteDataAdapter Constructor Overload List
Constructs a data adapter with the specified select command text, and
using the specified database connection string.
SQLiteDataAdapter(
string commandText,
string connectionString
);
Parameters
commandText
The select command text to use to construct a select command.
connectionString
A connection string suitable for passing to a new SQLiteConnection,
which is associated with the select command.
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace |
SQLiteDataAdapter Constructor Overload List
Constructs a data adapter with the specified select command text, and
using the specified database connection string.
SQLiteDataAdapter(
string commandText,
string connectionString,
bool parseViaFramework
);
Parameters
commandText
The select command text to use to construct a select command.
connectionString
A connection string suitable for passing to a new SQLiteConnection,
which is associated with the select command.
parseViaFramework
Non-zero to parse the connection string using the built-in (i.e.
framework provided) parser when opening the connection.
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace |
SQLiteDataAdapter Constructor Overload List
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace
Overload List
Inherited from Component.
public void Dispose()
Cleans up resources (native and managed) associated with the current
instance.
protected override void Dispose(bool)
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace
Parameters
disposing
Zero when being disposed via garbage collection; otherwise, non-zero.
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace |
SQLiteDataAdapter.Dispose Overload List
Parameters
value
The event's specifics
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace
Parameters
value
The event's specifics
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace
See Also
SQLiteDataAdapter Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteDataReader Members | System.Data.SQLite Namespace
SQLiteDataReader overview
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Implements
IDataReader.Depth
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Implements
IDataRecord.FieldCount
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Implements
IDataReader.IsClosed
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Overload List
Indexer to retrieve data from a column given its i
public override object this[int] { public get; }
Indexer to retrieve data from a column given its name
public override object this[string] { public get; }
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Implements
IDataRecord.Item
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace |
SQLiteDataReader.Item Overload List
Parameters
name
The name of the column to retrieve data for
Implements
IDataRecord.Item
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace |
SQLiteDataReader.Item Overload List
Returns the number of rows affected by the statement being executed. The
value returned may not be accurate for DDL statements. Also, it will be -1
for any statement that does not modify the database (e.g. SELECT). If an
otherwise read-only statement modifies the database indirectly (e.g. via a
virtual table or user-defined function), the value returned is undefined.
Implements
IDataReader.RecordsAffected
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Returns the number of rows seen so far in the current result set.
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Implements
IDataReader.Close
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Overload List
Inherited from DbDataReader.
public void Dispose()
Dispose of all resources used by this datareader.
protected override void Dispose(bool)
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
disposing
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace |
SQLiteDataReader.Dispose Overload List
Retrieves the column as a SQLiteBlob object. This will not work for tables
that were created WITHOUT ROWID -OR- if the query does not include the
"rowid" column or one of its aliases -OR- if the SQLiteDataReader was not
created with the KeyInfo flag.
Parameters
i
The index of the column.
readOnly
Non-zero to open the blob object for read-only access.
Return Value
A new SQLiteBlob object.
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
bool
Implements
IDataRecord.GetBoolean
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
byte
Implements
IDataRecord.GetByte
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
fieldOffset
The zero-based index of where to begin reading the data
buffer
The buffer to write the bytes into
bufferoffset
The zero-based index of where to begin writing into the array
length
The number of bytes to retrieve
Return Value
The actual number of bytes written into the array
Implements
IDataRecord.GetBytes
Remarks
To determine the number of bytes in the column, pass a null value for the
buffer. The total length will be returned.
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
char
Implements
IDataRecord.GetChar
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
fieldoffset
The zero-based index of where to begin reading the data
buffer
The buffer to write the characters into
bufferoffset
The zero-based index of where to begin writing into the array
length
The number of bytes to retrieve
Return Value
The actual number of characters written into the array
Implements
IDataRecord.GetChars
Remarks
To determine the number of characters in the column, pass a null value for
the buffer. The total length will be returned.
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Returns the name of the database associated with the specified column.
Parameters
i
The index of the column.
Return Value
string
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
string
Implements
IDataRecord.GetDataTypeName
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
DateTime
Implements
IDataRecord.GetDateTime
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
decimal
Implements
IDataRecord.GetDecimal
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
double
Implements
IDataRecord.GetDouble
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Enumerator support
Return Value
Returns a DbEnumerator object.
Implements
IEnumerable.GetEnumerator
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
Type
Implements
IDataRecord.GetFieldType
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
float
Implements
IDataRecord.GetFloat
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
Guid
Implements
IDataRecord.GetGuid
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
Int16
Implements
IDataRecord.GetInt16
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
Int32
Implements
IDataRecord.GetInt32
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
Int64
Implements
IDataRecord.GetInt64
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
string
Implements
IDataRecord.GetName
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
name
The name of the column to retrieve
Return Value
The int i of the column
Implements
IDataRecord.GetOrdinal
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
string
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Return Value
Returns a DataTable containing the schema information for the active
SELECT statement being processed.
Implements
IDataReader.GetSchemaTable
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
string
Implements
IDataRecord.GetString
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Returns the name of the table associated with the specified column.
Parameters
i
The index of the column.
Return Value
string
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Parameters
i
The index of the column.
Return Value
object
Implements
IDataRecord.GetValue
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Returns a collection containing all the column names and values for the
current row of data in the current resultset, if any. If there is no current
row or no current resultset, an exception may be thrown.
Overload List
Returns a collection containing all the column names and values for the
current row of data in the current resultset, if any. If there is no current
row or no current resultset, an exception may be thrown.
public NameValueCollection GetValues()
Retreives the values of multiple columns, up to the size of the supplied
array
public override int GetValues(object[])
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Returns a collection containing all the column names and values for the
current row of data in the current resultset, if any. If there is no current
row or no current resultset, an exception may be thrown.
Return Value
The collection containing the column name and value information for the
current row of data in the current resultset or null if this information
cannot be obtained.
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace |
SQLiteDataReader.GetValues Overload List
Parameters
values
The array to fill with values from the columns in the current resultset
Return Value
The number of columns retrieved
Implements
IDataRecord.GetValues
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace |
SQLiteDataReader.GetValues Overload List
Parameters
i
The index of the column.
Return Value
True or False
Implements
IDataRecord.IsDBNull
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Return Value
True if the command was successful and a new resultset is available, False
otherwise.
Implements
IDataReader.NextResult
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Return Value
True if a new row was successfully loaded and is ready for processing
Implements
IDataReader.Read
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
See Also
SQLiteDataReader Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteDataReaderValue Members | System.Data.SQLite Namespace
SQLiteDataReaderValue overview
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
SQLiteDataReaderValue();
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
The value to be returned from the GetBlob method -OR- null to indicate an
error.
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
The value to be returned from the GetByte method -OR- null to indicate
an error.
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
The value to be returned from the GetChar method -OR- null to indicate
an error.
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
The value to be returned from the GetDouble method -OR- null to indicate
an error.
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
The value to be returned from the GetFloat method -OR- null to indicate
an error.
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
The value to be returned from the GetGuid method -OR- null to indicate
an error.
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
The value to be returned from the GetInt16 method -OR- null to indicate
an error.
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
The value to be returned from the GetInt32 method -OR- null to indicate
an error.
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
The value to be returned from the GetInt64 method -OR- null to indicate
an error.
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
See Also
SQLiteDataReaderValue Class | System.Data.SQLite Namespace
Remarks
ISO8601 format is more compatible, readable, fully-processable, but less
accurate as it does not provide time down to fractions of a second.
JulianDay is the numeric format the SQLite uses internally and is arguably
the most compatible with 3rd party tools. It is not readable as text without
post-processing. Ticks less compatible with 3rd party tools that query the
database, and renders the DateTime field unreadable as text without post-
processing. UnixEpoch is more compatible with Unix systems.
InvariantCulture allows the configured format for the invariant culture
format to be used and is human readable. CurrentCulture allows the
configured format for the current culture to be used and is also human
readable. The preferred order of choosing a DateTime format is JulianDay,
ISO8601, and then Ticks. Ticks is mainly present for legacy code support.
Members
Member Name Description
Ticks Use the value of DateTime.Ticks.
This value is not recommended and
is not well supported with LINQ.
ISO8601 Use the ISO-8601 format. Uses the
"yyyy-MM-dd HH:mm:ss.FFFFFFFK"
format for UTC DateTime values
and "yyyy-MM-dd
HH:mm:ss.FFFFFFF" format for
local DateTime values).
JulianDay The interval of time in days and
fractions of a day since January 1,
4713 BC.
UnixEpoch The whole number of seconds since
the Unix epoch (January 1, 1970).
InvariantCulture Any culture-independent string
value that the .NET Framework can
interpret as a valid DateTime.
CurrentCulture Any string value that the .NET
Framework can interpret as a valid
DateTime using the current culture.
Default The default format for this provider.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
This class implements a SQLite function using a Delegate. All the virtual
methods of the SQLiteFunction class are implemented using calls to the
SQLiteInvokeDelegate, SQLiteStepDelegate, SQLiteFinalDelegate, and
SQLiteCompareDelegate strongly typed delegate types or via the
DynamicInvoke method. The arguments are presented in the same order
they appear in the associated SQLiteFunction methods with one
exception: the first argument is the name of the virtual method being
implemented.
For a list of all members of this type, see SQLiteDelegateFunction
Members .
System.Object SQLiteFunction
SQLiteDelegateFunction
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteDelegateFunction Members | System.Data.SQLite Namespace
SQLiteDelegateFunction overview
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace
Overload List
Constructs an empty instance of this class.
public SQLiteDelegateFunction()
Constructs an instance of this class using the specified Delegate as the
SQLiteFunction implementation.
public SQLiteDelegateFunction(Delegate,Delegate)
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace
SQLiteDelegateFunction();
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace |
SQLiteDelegateFunction Constructor Overload List
SQLiteDelegateFunction(
Delegate callback1,
Delegate callback2
);
Parameters
callback1
The Delegate to be used for all calls into the Invoke, Step, and
Compare virtual methods needed by the SQLiteFunction base class.
callback2
The Delegate to be used for all calls into the Final virtual methods
needed by the SQLiteFunction base class.
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace |
SQLiteDelegateFunction Constructor Overload List
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace
The Delegate to be used for all calls into the Invoke, Step, and Compare
virtual methods needed by the SQLiteFunction base class.
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace
The Delegate to be used for all calls into the Final virtual methods needed
by the SQLiteFunction base class.
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace
Send comments on this topic.
Generated from assembly System.Data.SQLite [1.0.104.0] by NDoc3
SQLite ADO.NET Provider
SQLiteDelegateFunction.Compare Method
Parameters
param1
The first string to compare.
param2
The second strnig to compare.
Return Value
A positive integer if the param1 parameter is greater than the param2
parameter, a negative integer if the param1 parameter is less than the
param2 parameter, or zero if they are equal.
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace
Parameters
contextData
A placeholder for implementers to store contextual data pertaining to
the current context.
Return Value
The result of the aggregate function.
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace
Parameters
param1
The first string to compare.
param2
The second strnig to compare.
earlyBound
Non-zero if the returned arguments are going to be used with the
SQLiteCompareDelegate type; otherwise, zero.
Return Value
The arguments to pass to the configured Delegate.
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace
Returns the list of arguments for the Final method, as an Array of Object.
The first argument is always the literal string "Final".
Parameters
contextData
A placeholder for implementers to store contextual data pertaining to
the current context.
earlyBound
Non-zero if the returned arguments are going to be used with the
SQLiteFinalDelegate type; otherwise, zero.
Return Value
The arguments to pass to the configured Delegate.
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace
Parameters
args
The original arguments received by the Invoke method.
earlyBound
Non-zero if the returned arguments are going to be used with the
SQLiteInvokeDelegate type; otherwise, zero.
Return Value
The arguments to pass to the configured Delegate.
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace
Returns the list of arguments for the Step method, as an Array of Object.
The first argument is always the literal string "Step".
Parameters
args
The original arguments received by the Step method.
stepNumber
The step number (one based). This is incrememted each time the Step
method is called.
contextData
A placeholder for implementers to store contextual data pertaining to
the current context.
earlyBound
Non-zero if the returned arguments are going to be used with the
SQLiteStepDelegate type; otherwise, zero.
Return Value
The arguments to pass to the configured Delegate.
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace
This virtual method is the implementation for scalar functions. See the
Invoke method for more details.
Parameters
args
The arguments for the scalar function.
Return Value
The result of the scalar function.
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace
Parameters
args
The arguments for the aggregate function.
stepNumber
The step number (one based). This is incrememted each time the Step
method is called.
contextData
A placeholder for implementers to store contextual data pertaining to
the current context.
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace
Updates the output arguments for the Step method, using an Array of
Object. The first argument is always the literal string "Step". Currently,
only the contextData parameter is updated.
Parameters
args
The original arguments received by the Step method.
contextData
A placeholder for implementers to store contextual data pertaining to
the current context.
earlyBound
Non-zero if the returned arguments are going to be used with the
SQLiteStepDelegate type; otherwise, zero.
Return Value
The arguments to pass to the configured Delegate.
See Also
SQLiteDelegateFunction Class | System.Data.SQLite Namespace
Members
Member Name Description
Unknown The error code is unknown. This
error code is only used by the
managed wrapper itself.
Ok Successful result
Error SQL error or missing database
Internal Internal logic error in SQLite
Perm Access permission denied
Abort Callback routine requested an abort
Busy The database file is locked
Locked A table in the database is locked
NoMem A malloc() failed
ReadOnly Attempt to write a readonly
database
Interrupt Operation terminated by
sqlite3_interrupt()
IoErr Some kind of disk I/O error
occurred
Corrupt The database disk image is
malformed
NotFound Unknown opcode in
sqlite3_file_control()
Full Insertion failed because database is
full
CantOpen Unable to open the database file
Protocol Database lock protocol error
Empty Database is empty
Schema The database schema changed
TooBig String or BLOB exceeds size limit
Constraint Abort due to constraint violation
Mismatch Data type mismatch
Misuse Library used incorrectly
NoLfs Uses OS features not supported on
host
Auth Authorization denied
Format Auxiliary database format error
Range 2nd parameter to sqlite3_bind out
of range
NotADb File opened that is not a database
file
Notice Notifications from sqlite3_log()
Warning Warnings from sqlite3_log()
Row sqlite3_step() has another row
ready
Done sqlite3_step() has finished
executing
NonExtendedMask Used to mask off extended result
codes
IoErr_Read A file read operation failed.
IoErr_Short_Read A file read operation returned less
data than requested.
IoErr_Write A file write operation failed.
IoErr_Fsync A file synchronization operation
failed.
IoErr_Dir_Fsync A directory synchronization
operation failed.
IoErr_Truncate A file truncate operation failed.
IoErr_Fstat A file metadata operation failed.
IoErr_Unlock A file unlock operation failed.
IoErr_RdLock A file lock operation failed.
IoErr_Delete A file delete operation failed.
IoErr_Blocked Not currently used.
IoErr_NoMem Out-of-memory during a file
operation.
IoErr_Access A file existence/status operation
failed.
IoErr_CheckReservedLock A check for a reserved lock failed.
IoErr_Lock A file lock operation failed.
IoErr_Close A file close operation failed.
IoErr_Dir_Close A directory close operation failed.
IoErr_ShmOpen A shared memory open operation
failed.
IoErr_ShmSize A shared memory size operation
failed.
IoErr_ShmLock A shared memory lock operation
failed.
IoErr_ShmMap A shared memory map operation
failed.
IoErr_Seek A file seek operation failed.
IoErr_Delete_NoEnt A file delete operation failed
because it does not exist.
IoErr_Mmap A file memory mapping operation
failed.
IoErr_GetTempPath The temporary directory path could
not be obtained.
IoErr_ConvPath A path string conversion operation
failed.
IoErr_VNode Reserved.
IoErr_Auth An attempt to authenticate failed.
Locked_SharedCache A database table is locked in
shared-cache mode.
Busy_Recovery A database file is locked due to a
recovery operation.
Busy_Snapshot A database file is locked due to
snapshot semantics.
CantOpen_NoTempDir A database file cannot be opened
because no temporary directory is
available.
CantOpen_IsDir A database file cannot be opened
because its path represents a
directory.
CantOpen_FullPath A database file cannot be opened
because its full path could not be
obtained.
CantOpen_ConvPath A database file cannot be opened
because a path string conversion
operation failed.
Corrupt_Vtab A virtual table is malformed.
ReadOnly_Recovery A database file is read-only due to
a recovery operation.
ReadOnly_CantLock A database file is read-only because
a lock could not be obtained.
ReadOnly_Rollback A database file is read-only because
it needs rollback processing.
ReadOnly_DbMoved A database file is read-only because
it was moved while open.
Abort_Rollback An operation is being aborted due
to rollback processing.
Constraint_Check A CHECK constraint failed.
Constraint_CommitHook A commit hook produced a
unsuccessful return code.
Constraint_ForeignKey A FOREIGN KEY constraint failed.
Constraint_Function Not currently used.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteException Members | System.Data.SQLite Namespace
SQLiteException overview
See Also
SQLiteException Class | System.Data.SQLite Namespace
Public constructor for generating a SQLite exception given the error code
and message.
Overload List
Public constructor that uses the default base class constructor.
public SQLiteException()
Public constructor for generating a SQLite exception given the error code
and message.
public SQLiteException(SQLiteErrorCode,string)
Public constructor that uses the base class constructor for the error
message.
public SQLiteException(string)
Public constructor that uses the base class constructor for the error
message and inner exception.
public SQLiteException(string,Exception)
See Also
SQLiteException Class | System.Data.SQLite Namespace
Public constructor for generating a SQLite exception given the error code
and message.
SQLiteException(
SQLiteErrorCode errorCode,
string message
);
Parameters
errorCode
The SQLite return code to report.
message
Message text to go along with the return code message text.
See Also
SQLiteException Class | System.Data.SQLite Namespace | SQLiteException
Constructor Overload List
Public constructor that uses the base class constructor for the error
message.
SQLiteException(
string message
);
Parameters
message
Error message text.
See Also
SQLiteException Class | System.Data.SQLite Namespace | SQLiteException
Constructor Overload List
SQLiteException();
See Also
SQLiteException Class | System.Data.SQLite Namespace | SQLiteException
Constructor Overload List
Public constructor that uses the base class constructor for the error
message and inner exception.
SQLiteException(
string message,
Exception innerException
);
Parameters
message
Error message text.
innerException
The original (inner) exception.
See Also
SQLiteException Class | System.Data.SQLite Namespace | SQLiteException
Constructor Overload List
See Also
SQLiteException Class | System.Data.SQLite Namespace
Gets the associated SQLite return code for this exception as an Int32. For
desktop versions of the .NET Framework, this property overrides the
property of the same name within the ExternalException class. This
property returns the same underlying value as the ResultCode property.
See Also
SQLiteException Class | System.Data.SQLite Namespace
See Also
SQLiteException Class | System.Data.SQLite Namespace
Adds extra information to the serialized object data specific to this class
type. This is only used for serialization.
Parameters
info
Holds the serialized object data about the exception being thrown.
context
Contains contextual information about the source or destination.
Implements
ISerializable.GetObjectData
See Also
SQLiteException Class | System.Data.SQLite Namespace
The requested command execution type. This controls which method of the
SQLiteCommand object will be called.
Members
Member Name Description
None Do nothing. No method will be
called.
NonQuery The command is not expected to
return a result -OR- the result is
not needed. The ExecuteNonQuery
or ExecuteNonQuery method will
be called.
Scalar The command is expected to return
a scalar result -OR- the result
should be limited to a scalar result.
The ExecuteScalar or
ExecuteScalar method will be
called.
Reader The command is expected to return
SQLiteDataReader result. The
ExecuteReader or ExecuteReader
method will be called.
Default Use the default command execution
type. Using this value is the same
as using the NonQuery value.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteFactory Members | System.Data.SQLite Namespace
SQLiteFactory overview
See Also
SQLiteFactory Class | System.Data.SQLite Namespace
Send comments on this topic.
Generated from assembly System.Data.SQLite [1.0.104.0] by NDoc3
SQLite ADO.NET Provider
SQLiteFactory Constructor
SQLiteFactory();
See Also
SQLiteFactory Class | System.Data.SQLite Namespace
The fields of the SQLiteFactory class are listed below. For a complete list
of SQLiteFactory class members, see the SQLiteFactory Members topic.
See Also
SQLiteFactory Class | System.Data.SQLite Namespace
See Also
SQLiteFactory Class | System.Data.SQLite Namespace
The methods of the SQLiteFactory class are listed below. For a complete
list of SQLiteFactory class members, see the SQLiteFactory Members
topic.
See Also
SQLiteFactory Class | System.Data.SQLite Namespace
Return Value
The new object.
See Also
SQLiteFactory Class | System.Data.SQLite Namespace
Return Value
The new object.
See Also
SQLiteFactory Class | System.Data.SQLite Namespace
Return Value
The new object.
See Also
SQLiteFactory Class | System.Data.SQLite Namespace
Return Value
The new object.
See Also
SQLiteFactory Class | System.Data.SQLite Namespace
Return Value
The new object.
See Also
SQLiteFactory Class | System.Data.SQLite Namespace
Return Value
The new object.
See Also
SQLiteFactory Class | System.Data.SQLite Namespace
Implements
IDisposable.Dispose
See Also
SQLiteFactory Class | System.Data.SQLite Namespace
See Also
SQLiteFactory Class | System.Data.SQLite Namespace
The events of the SQLiteFactory class are listed below. For a complete list
of SQLiteFactory class members, see the SQLiteFactory Members topic.
See Also
SQLiteFactory Class | System.Data.SQLite Namespace
This event is raised whenever SQLite raises a logging event. Note that this
should be set as one of the first things in the application. This event is
provided for backward compatibility only. New code should use the
SQLiteLog class instead.
See Also
SQLiteFactory Class | System.Data.SQLite Namespace
Parameters
param0
This is always the string literal "Final".
contextData
A placeholder for implementers to store contextual data pertaining to
the current context.
Return Value
The result of the aggregate function.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Remarks
Although there is one instance of a class derived from SQLiteFunction per
database connection, the derived class has no access to the underlying
connection. This is necessary to deter implementers from thinking it would
be a good idea to make database calls during processing. It is important to
distinguish between a per-connection instance, and a per-SQL statement
context. One instance of this class services all SQL statements being
stepped through on that connection, and there can be many. One should
never store per-statement information in member variables of user-
defined function classes. For aggregate functions, always create and store
your per-statement data in the contextData object on the 1st step. This
data will be automatically freed for you (and Dispose() called if the item
supports IDisposable) when the statement completes.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteFunction Members | System.Data.SQLite Namespace
SQLiteFunction overview
See Also
SQLiteFunction Class | System.Data.SQLite Namespace
Overload List
Internal constructor, initializes the function's internal variables.
protected SQLiteFunction()
Constructs an instance of this class using the specified data-type
conversion parameters.
protected SQLiteFunction(SQLiteDateFormats,DateTimeKind,string,bool)
See Also
SQLiteFunction Class | System.Data.SQLite Namespace
SQLiteFunction();
See Also
SQLiteFunction Class | System.Data.SQLite Namespace | SQLiteFunction
Constructor Overload List
SQLiteFunction(
SQLiteDateFormats format,
DateTimeKind kind,
string formatString,
bool utf16
);
Parameters
format
The DateTime format to be used when converting string values to a
DateTime and binding DateTime parameters.
kind
The DateTimeKind to be used when creating DateTime values.
formatString
The format string to be used when parsing and formatting DateTime
values.
utf16
Non-zero to create a UTF-16 data-type conversion context; otherwise,
a UTF-8 data-type conversion context will be created.
See Also
SQLiteFunction Class | System.Data.SQLite Namespace | SQLiteFunction
Constructor Overload List
See Also
SQLiteFunction Class | System.Data.SQLite Namespace
See Also
SQLiteFunction Class | System.Data.SQLite Namespace
The methods of the SQLiteFunction class are listed below. For a complete
list of SQLiteFunction class members, see the SQLiteFunction Members
topic.
See Also
SQLiteFunction Class | System.Data.SQLite Namespace
Parameters
param1
The first string to compare.
param2
The second strnig to compare.
Return Value
1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is
less than param2.
See Also
SQLiteFunction Class | System.Data.SQLite Namespace
Overload List
Disposes of any active contextData variables that were not automatically
cleaned up. Sometimes this can happen if someone closes the connection
while a DataReader is open.
public void Dispose()
Placeholder for a user-defined disposal routine
protected virtual void Dispose(bool)
See Also
SQLiteFunction Class | System.Data.SQLite Namespace
Implements
IDisposable.Dispose
See Also
SQLiteFunction Class | System.Data.SQLite Namespace |
SQLiteFunction.Dispose Overload List
Parameters
disposing
True if the object is being disposed explicitly
See Also
SQLiteFunction Class | System.Data.SQLite Namespace |
SQLiteFunction.Dispose Overload List
Parameters
contextData
Your own assigned contextData, provided for you so you can return
your final results.
Return Value
You may return most simple types as a return value, null or DBNull.Value
to return null, DateTime, or you may return an Exception-derived class if
you wish to return an error to SQLite. Do not actually throw the error, just
return it!
Remarks
If you implemented your aggregate function properly, you've been
recording and keeping track of your data in the contextData object
provided, and now at this stage you should have all the information you
need in there to figure out what to return. NOTE: It is possible to arrive
here without receiving a previous call to Step(), in which case the
contextData will be null. This can happen when no rows were returned.
You can either return null, or 0 or some other custom return value if that
is the case.
See Also
SQLiteFunction Class | System.Data.SQLite Namespace
See Also
SQLiteFunction Class | System.Data.SQLite Namespace
Parameters
args
The arguments for the command to process
Return Value
You may return most simple types as a return value, null or DBNull.Value
to return null, DateTime, or you may return an Exception-derived class if
you wish to return an error to SQLite. Do not actually throw the error, just
return it!
Remarks
Parameters passed to functions have only an affinity for a certain data
type, there is no underlying schema available to force them into a certain
type. Therefore the only types you will ever see as parameters are
DBNull.Value, Int64, Double, String or byte[] array.
See Also
SQLiteFunction Class | System.Data.SQLite Namespace
Overload List
Alternative method of registering a function. This method does not require
the specified type to be annotated with SQLiteFunctionAttribute.
public static void RegisterFunction(string,int,FunctionType,Type,Delegate,De
Manual method of registering a function. The type must still have the
SQLiteFunctionAttributes in order to work properly, but this is a
workaround for the Compact Framework where enumerating assemblies is
not currently supported.
public static void RegisterFunction(Type)
See Also
SQLiteFunction Class | System.Data.SQLite Namespace
Parameters
name
The name of the function to register.
argumentCount
The number of arguments accepted by the function.
functionType
The type of SQLite function being resitered (e.g. scalar, aggregate, or
collating sequence).
instanceType
The Type that actually implements the function. This will only be used if
the callback1 and callback2 parameters are null.
callback1
The Delegate to be used for all calls into the Invoke, Step, and
Compare virtual methods.
callback2
The Delegate to be used for all calls into the Final virtual method. This
parameter is only necessary for aggregate functions.
See Also
SQLiteFunction Class | System.Data.SQLite Namespace |
SQLiteFunction.RegisterFunction Overload List
Manual method of registering a function. The type must still have the
SQLiteFunctionAttributes in order to work properly, but this is a
workaround for the Compact Framework where enumerating assemblies is
not currently supported.
Parameters
typ
The type of the function to register
See Also
SQLiteFunction Class | System.Data.SQLite Namespace |
SQLiteFunction.RegisterFunction Overload List
Parameters
args
The arguments for the command to process
stepNumber
The 1-based step number. This is incrememted each time the step
method is called.
contextData
A placeholder for implementers to store contextual data pertaining to
the current context.
Remarks
Typically you'll be updating whatever you've placed in the contextData
field and returning as quickly as possible.
See Also
SQLiteFunction Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteFunctionAttribute Members | System.Data.SQLite Namespace
SQLiteFunctionAttribute overview
See Also
SQLiteFunctionAttribute Class | System.Data.SQLite Namespace
Overload List
Default constructor, initializes the internal variables for the function.
public SQLiteFunctionAttribute()
Constructs an instance of this class. This sets the initial InstanceType,
Callback1, and Callback2 properties to null.
public SQLiteFunctionAttribute(string,int,FunctionType)
See Also
SQLiteFunctionAttribute Class | System.Data.SQLite Namespace
SQLiteFunctionAttribute();
See Also
SQLiteFunctionAttribute Class | System.Data.SQLite Namespace |
SQLiteFunctionAttribute Constructor Overload List
SQLiteFunctionAttribute(
string name,
int argumentCount,
FunctionType functionType
);
Parameters
name
The name of the function, as seen by the SQLite core library.
argumentCount
The number of arguments that the function will accept.
functionType
The type of function being declared. This will either be Scalar,
Aggregate, or Collation.
See Also
SQLiteFunctionAttribute Class | System.Data.SQLite Namespace |
SQLiteFunctionAttribute Constructor Overload List
See Also
SQLiteFunctionAttribute Class | System.Data.SQLite Namespace
See Also
SQLiteFunctionAttribute Class | System.Data.SQLite Namespace
See Also
SQLiteFunctionAttribute Class | System.Data.SQLite Namespace
See Also
SQLiteFunctionAttribute Class | System.Data.SQLite Namespace
Remarks
User-defined functions can call the GetCollationSequence() method in this
class and use it to compare strings and char arrays.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteFunctionEx Members | System.Data.SQLite Namespace
SQLiteFunctionEx overview
See Also
SQLiteFunctionEx Class | System.Data.SQLite Namespace
SQLiteFunctionEx();
See Also
SQLiteFunctionEx Class | System.Data.SQLite Namespace
See Also
SQLiteFunctionEx Class | System.Data.SQLite Namespace
Overload List
Inherited from SQLiteFunction.
public void Dispose()
Cleans up resources (native and managed) associated with the current
instance.
protected override void Dispose(bool)
See Also
SQLiteFunctionEx Class | System.Data.SQLite Namespace
Parameters
disposing
Zero when being disposed via garbage collection; otherwise, non-zero.
See Also
SQLiteFunctionEx Class | System.Data.SQLite Namespace |
SQLiteFunctionEx.Dispose Overload List
Return Value
See Also
SQLiteFunctionEx Class | System.Data.SQLite Namespace
This class represents the various inputs and outputs used with the
BestIndex method.
For a list of all members of this type, see SQLiteIndex Members .
System.Object SQLiteIndex
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteIndex Members | System.Data.SQLite Namespace
SQLiteIndex overview
See Also
SQLiteIndex Class | System.Data.SQLite Namespace
Send comments on this topic.
Generated from assembly System.Data.SQLite [1.0.104.0] by NDoc3
SQLite ADO.NET Provider
SQLiteIndex Properties
The properties of the SQLiteIndex class are listed below. For a complete
list of SQLiteIndex class members, see the SQLiteIndex Members topic.
See Also
SQLiteIndex Class | System.Data.SQLite Namespace
See Also
SQLiteIndex Class | System.Data.SQLite Namespace
See Also
SQLiteIndex Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteIndexConstraint Members | System.Data.SQLite Namespace
SQLiteIndexConstraint overview
See Also
SQLiteIndexConstraint Class | System.Data.SQLite Namespace
See Also
SQLiteIndexConstraint Class | System.Data.SQLite Namespace
See Also
SQLiteIndexConstraint Class | System.Data.SQLite Namespace
See Also
SQLiteIndexConstraint Class | System.Data.SQLite Namespace
See Also
SQLiteIndexConstraint Class | System.Data.SQLite Namespace
See Also
SQLiteIndexConstraint Class | System.Data.SQLite Namespace
These are the allowed values for the operators that are part of a constraint
term in the WHERE clause of a query that uses a virtual table.
Members
Member Name Description
EqualTo This value represents the equality
operator.
GreaterThan This value represents the greater
than operator.
LessThanOrEqualTo This value represents the less than
or equal to operator.
LessThan This value represents the less than
operator.
GreaterThanOrEqualTo This value represents the greater
than or equal to operator.
Match This value represents the MATCH
operator.
Like This value represents the LIKE
operator.
Glob This value represents the GLOB
operator.
Regexp This value represents the REGEXP
operator.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteIndexConstraintUsage Members | System.Data.SQLite Namespace
SQLiteIndexConstraintUsage overview
See Also
SQLiteIndexConstraintUsage Class | System.Data.SQLite Namespace
See Also
SQLiteIndexConstraintUsage Class | System.Data.SQLite Namespace
See Also
SQLiteIndexConstraintUsage Class | System.Data.SQLite Namespace
See Also
SQLiteIndexConstraintUsage Class | System.Data.SQLite Namespace
These are the allowed values for the index flags from the BestIndex
method.
This enumeration has a FlagsAttribute attribute that allows a bitwise
combination of its member values.
Members
Member Name Description Value
None No special handling. This is 0
the default.
ScanUnique This value indicates that the 1
scan of the index will visit
at most one row.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
This class represents the various inputs provided by the SQLite core
library to the BestIndex method.
For a list of all members of this type, see SQLiteIndexInputs Members .
System.Object SQLiteIndexInputs
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteIndexInputs Members | System.Data.SQLite Namespace
SQLiteIndexInputs overview
See Also
SQLiteIndexInputs Class | System.Data.SQLite Namespace
See Also
SQLiteIndexInputs Class | System.Data.SQLite Namespace
See Also
SQLiteIndexInputs Class | System.Data.SQLite Namespace
See Also
SQLiteIndexInputs Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteIndexOrderBy Members | System.Data.SQLite Namespace
SQLiteIndexOrderBy overview
See Also
SQLiteIndexOrderBy Class | System.Data.SQLite Namespace
See Also
SQLiteIndexOrderBy Class | System.Data.SQLite Namespace
See Also
SQLiteIndexOrderBy Class | System.Data.SQLite Namespace
Column number.
See Also
SQLiteIndexOrderBy Class | System.Data.SQLite Namespace
This class represents the various outputs provided to the SQLite core
library by the BestIndex method.
For a list of all members of this type, see SQLiteIndexOutputs Members .
System.Object SQLiteIndexOutputs
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteIndexOutputs Members | System.Data.SQLite Namespace
SQLiteIndexOutputs overview
See Also
SQLiteIndexOutputs Class | System.Data.SQLite Namespace
Send comments on this topic.
Generated from assembly System.Data.SQLite [1.0.104.0] by NDoc3
SQLite ADO.NET Provider
SQLiteIndexOutputs Properties
See Also
SQLiteIndexOutputs Class | System.Data.SQLite Namespace
See Also
SQLiteIndexOutputs Class | System.Data.SQLite Namespace
See Also
SQLiteIndexOutputs Class | System.Data.SQLite Namespace
Estimated cost of using this index. Using a null value here indicates that a
default estimated cost value should be used.
See Also
SQLiteIndexOutputs Class | System.Data.SQLite Namespace
Estimated number of rows returned. Using a null value here indicates that
a default estimated rows value should be used. This property has no effect
if the SQLite core library is not at least version 3.8.2.
See Also
SQLiteIndexOutputs Class | System.Data.SQLite Namespace
The flags that should be used with this index. Using a null value here
indicates that a default flags value should be used. This property has no
effect if the SQLite core library is not at least version 3.9.0.
See Also
SQLiteIndexOutputs Class | System.Data.SQLite Namespace
Number used to help identify the selected index. This value will later be
provided to the Filter method.
See Also
SQLiteIndexOutputs Class | System.Data.SQLite Namespace
String used to help identify the selected index. This value will later be
provided to the Filter method.
See Also
SQLiteIndexOutputs Class | System.Data.SQLite Namespace
Non-zero if the index string must be freed by the SQLite core library.
See Also
SQLiteIndexOutputs Class | System.Data.SQLite Namespace
See Also
SQLiteIndexOutputs Class | System.Data.SQLite Namespace
See Also
SQLiteIndexOutputs Class | System.Data.SQLite Namespace
Determines if the native flags field can be used, based on the available
version of the SQLite core library.
Return Value
Non-zero if the ColumnsUsed property is supported by the SQLite core
library.
See Also
SQLiteIndexOutputs Class | System.Data.SQLite Namespace
Return Value
Non-zero if the EstimatedRows property is supported by the SQLite core
library.
See Also
SQLiteIndexOutputs Class | System.Data.SQLite Namespace
Determines if the native flags field can be used, based on the available
version of the SQLite core library.
Return Value
Non-zero if the IndexFlags property is supported by the SQLite core
library.
See Also
SQLiteIndexOutputs Class | System.Data.SQLite Namespace
Parameters
param0
This is always the string literal "Invoke".
args
The arguments for the scalar function.
Return Value
The result of the scalar function.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Remarks
By default SQLite will create and delete the journal file when needed
during a transaction. However, for some computers running certain
filesystem monitoring tools, the rapid creation and deletion of the journal
file can cause those programs to fail, or to interfere with SQLite. If a
program or virus scanner is interfering with SQLite's journal file, you may
receive errors like "unable to open database file" when starting a
transaction. If this is happening, you may want to change the default
journal mode to Persist.
Members
Member Name Description
Default The default mode, this causes
SQLite to use the existing
journaling mode for the database.
Delete SQLite will create and destroy the
journal file as-needed.
Persist When this is set, SQLite will keep
the journal file even after a
transaction has completed. It's
contents will be erased, and the
journal re-used as often as needed.
If it is deleted, it will be recreated
the next time it is needed.
Off This option disables the rollback
journal entirely. Interrupted
transactions or a program crash
can cause database corruption in
this mode!
Truncate SQLite will truncate the journal file
to zero-length instead of deleting
it.
Memory SQLite will store the journal in
volatile RAM. This saves disk I/O
but at the expense of database
safety and integrity. If the
application using SQLite crashes in
the middle of a transaction when
the MEMORY journaling mode is
set, then the database file will very
likely go corrupt.
Wal SQLite uses a write-ahead log
instead of a rollback journal to
implement transactions. The WAL
journaling mode is persistent; after
being set it stays in effect across
multiple database connections and
after closing and reopening the
database. A database in WAL
journaling mode can only be
accessed by SQLite version 3.7.0 or
later.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteLog Members | System.Data.SQLite Namespace
SQLiteLog overview
See Also
SQLiteLog Class | System.Data.SQLite Namespace
The properties of the SQLiteLog class are listed below. For a complete list
of SQLiteLog class members, see the SQLiteLog Members topic.
See Also
SQLiteLog Class | System.Data.SQLite Namespace
See Also
SQLiteLog Class | System.Data.SQLite Namespace
The methods of the SQLiteLog class are listed below. For a complete list
of SQLiteLog class members, see the SQLiteLog Members topic.
See Also
SQLiteLog Class | System.Data.SQLite Namespace
See Also
SQLiteLog Class | System.Data.SQLite Namespace
See Also
SQLiteLog Class | System.Data.SQLite Namespace
Log a message to all the registered log event handlers without going
through the SQLite library.
Overload List
Log a message to all the registered log event handlers without going
through the SQLite library.
public static void LogMessage(SQLiteErrorCode,string)
Log a message to all the registered log event handlers without going
through the SQLite library.
public static void LogMessage(int,string)
Log a message to all the registered log event handlers without going
through the SQLite library.
public static void LogMessage(string)
See Also
SQLiteLog Class | System.Data.SQLite Namespace
Log a message to all the registered log event handlers without going
through the SQLite library.
Parameters
errorCode
The SQLite error code.
message
The message to be logged.
See Also
SQLiteLog Class | System.Data.SQLite Namespace | SQLiteLog.LogMessage
Overload List
Log a message to all the registered log event handlers without going
through the SQLite library.
Parameters
errorCode
The integer error code.
message
The message to be logged.
See Also
SQLiteLog Class | System.Data.SQLite Namespace | SQLiteLog.LogMessage
Overload List
Log a message to all the registered log event handlers without going
through the SQLite library.
Parameters
message
The message to be logged.
See Also
SQLiteLog Class | System.Data.SQLite Namespace | SQLiteLog.LogMessage
Overload List
Removes the default log event handler from the list of handlers.
See Also
SQLiteLog Class | System.Data.SQLite Namespace
The events of the SQLiteLog class are listed below. For a complete list of
SQLiteLog class members, see the SQLiteLog Members topic.
See Also
SQLiteLog Class | System.Data.SQLite Namespace
This event is raised whenever SQLite raises a logging event. Note that this
should be set as one of the first things in the application.
See Also
SQLiteLog Class | System.Data.SQLite Namespace
Parameters
sender
The current connection
e
Event arguments of the trace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteMetaDataCollectionNames Members | System.Data.SQLite
Namespace
SQLiteMetaDataCollectionNames overview
See Also
SQLiteMetaDataCollectionNames Class | System.Data.SQLite Namespace
See Also
SQLiteMetaDataCollectionNames Class | System.Data.SQLite Namespace
See Also
SQLiteMetaDataCollectionNames Class | System.Data.SQLite Namespace
See Also
SQLiteMetaDataCollectionNames Class | System.Data.SQLite Namespace
See Also
SQLiteMetaDataCollectionNames Class | System.Data.SQLite Namespace
See Also
SQLiteMetaDataCollectionNames Class | System.Data.SQLite Namespace
See Also
SQLiteMetaDataCollectionNames Class | System.Data.SQLite Namespace
See Also
SQLiteMetaDataCollectionNames Class | System.Data.SQLite Namespace
See Also
SQLiteMetaDataCollectionNames Class | System.Data.SQLite Namespace
See Also
SQLiteMetaDataCollectionNames Class | System.Data.SQLite Namespace
See Also
SQLiteMetaDataCollectionNames Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteModule Members | System.Data.SQLite Namespace
SQLiteModule overview
See Also
SQLiteModule Class | System.Data.SQLite Namespace
SQLiteModule(
string name
);
Parameters
name
The name of the module. This parameter cannot be null.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
The properties of the SQLiteModule class are listed below. For a complete
list of SQLiteModule class members, see the SQLiteModule Members
topic.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Returns non-zero if the schema for the virtual table has been declared.
Implements
ISQLiteManagedModule.Declared
See Also
SQLiteModule Class | System.Data.SQLite Namespace
See Also
SQLiteModule Class | System.Data.SQLite Namespace
See Also
SQLiteModule Class | System.Data.SQLite Namespace
See Also
SQLiteModule Class | System.Data.SQLite Namespace
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Returns the name of the module as it was registered with the SQLite core
library.
Implements
ISQLiteManagedModule.Name
See Also
SQLiteModule Class | System.Data.SQLite Namespace
The methods of the SQLiteModule class are listed below. For a complete
list of SQLiteModule class members, see the SQLiteModule Members
topic.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Return Value
A native pointer to a native sqlite3_vtab_cursor derived structure.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Return Value
A native pointer to a native sqlite3_vtab derived structure.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Begin
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
index
The SQLiteIndex object instance containing all the data for the inputs
and outputs relating to index selection.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.BestIndex
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
cursor
The SQLiteVirtualTableCursor object instance associated with the
previously opened virtual table cursor to be used.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Close
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
cursor
The SQLiteVirtualTableCursor object instance associated with the
previously opened virtual table cursor to be used.
context
The SQLiteContext object instance to be used for returning the
specified column value to the SQLite core library.
index
The zero-based index corresponding to the column containing the value
to be returned.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Column
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Commit
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
connection
The SQLiteConnection object instance associated with the virtual table.
pClientData
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
arguments
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
table
Upon success, this parameter must be modified to contain the
SQLiteVirtualTable object instance associated with the virtual table.
error
Upon failure, this parameter must be modified to contain an error
message.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Connect
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
connection
The SQLiteConnection object instance associated with the virtual table.
pClientData
The native user-data pointer associated with this module, as it was
provided to the SQLite core library when the native module instance
was created.
arguments
The module name, database name, virtual table name, and all other
arguments passed to the CREATE VIRTUAL TABLE statement.
table
Upon success, this parameter must be modified to contain the
SQLiteVirtualTable object instance associated with the virtual table.
error
Upon failure, this parameter must be modified to contain an error
message.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Create
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Return Value
The ISQLiteNativeModule interface implementation corresponding to the
current SQLiteModule object instance.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
pCursor
The native pointer to the sqlite3_vtab_cursor derived structure.
Return Value
The SQLiteVirtualTableCursor object instance or null if the corresponding
one cannot be found.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
cursor
The SQLiteVirtualTableCursor object instance to be used when creating
the association.
Return Value
The native pointer to a sqlite3_vtab_cursor derived structure or Zero if the
method fails for any reason.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Calls the native SQLite core library in order to declare a virtual table
function in response to a call into the xCreate or xConnect virtual table
methods.
Parameters
connection
The SQLiteConnection object instance to use when declaring the
schema of the virtual table.
argumentCount
The number of arguments to the function being declared.
name
The name of the function being declared.
error
Upon success, the contents of this parameter are undefined. Upon
failure, it should contain an appropriate error message.
Return Value
A standard SQLite return code.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Attempts to declare the schema for the virtual table using the specified
database connection.
Parameters
connection
The SQLiteConnection object instance to use when declaring the
schema of the virtual table. This parameter may not be null.
sql
The string containing the CREATE TABLE statement that completely
describes the schema for the virtual table. This parameter may not be
null.
error
Upon failure, this parameter must be modified to contain an error
message.
Return Value
A standard SQLite return code.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Destroy
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Disconnect
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Overload List
Disposes of this object instance.
public void Dispose()
Disposes of this object instance.
protected virtual void Dispose(bool)
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Implements
IDisposable.Dispose
See Also
SQLiteModule Class | System.Data.SQLite Namespace |
SQLiteModule.Dispose Overload List
Parameters
disposing
Non-zero if this method is being called from the Dispose method. Zero
if this method is being called from the finalizer.
See Also
SQLiteModule Class | System.Data.SQLite Namespace |
SQLiteModule.Dispose Overload List
Parameters
cursor
The SQLiteVirtualTableCursor object instance associated with the
previously opened virtual table cursor to be used.
Return Value
Non-zero if no more rows are available; zero otherwise.
Implements
ISQLiteManagedModule.Eof
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
cursor
The SQLiteVirtualTableCursor object instance associated with the
previously opened virtual table cursor to be used.
indexNumber
Number used to help identify the selected index.
indexString
String used to help identify the selected index.
values
The values corresponding to each column in the selected index.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Filter
See Also
SQLiteModule Class | System.Data.SQLite Namespace
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
argumentCount
The number of arguments to the function being sought.
name
The name of the function being sought.
function
Upon success, this parameter must be modified to contain the
SQLiteFunction object instance responsible for implementing the
specified function.
pClientData
Upon success, this parameter must be modified to contain the native
user-data pointer associated with function.
Return Value
Non-zero if the specified function was found; zero otherwise.
Implements
ISQLiteManagedModule.FindFunction
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
pCursor
A native pointer to a native sqlite3_vtab_cursor derived structure.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
pVtab
A native pointer to a native sqlite3_vtab derived structure.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Deterimines the key that should be used to identify and store the
SQLiteFunction object instance for the virtual table (i.e. to be returned via
the xFindFunction method).
Parameters
argumentCount
The number of arguments to the virtual table function.
name
The name of the virtual table function.
function
The SQLiteFunction object instance associated with this virtual table
function.
Return Value
The string that should be used to identify and store the virtual table
function instance. This method cannot return null. If null is returned from
this method, the behavior is undefined.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Return Value
The ISQLiteNativeModule interface implementation to be used when
populating the native sqlite3_module structure. If the returned value is
null, the private methods provided by the SQLiteModule class and relating
to the ISQLiteNativeModule interface will be used to create the
necessary delegates.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
cursor
The SQLiteVirtualTableCursor object instance associated with the
previously opened virtual table cursor to be used.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Next
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
cursor
Upon success, this parameter must be modified to contain the
SQLiteVirtualTableCursor object instance associated with the newly
opened virtual table cursor.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Open
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
savepoint
This is an integer used to indicate that any saved states with an
identifier greater than or equal to this should be deleted by the virtual
table.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Release
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
newName
The new name for the virtual table.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Rename
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Rollback
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
savepoint
This is an integer identifier used to specify a specific saved state for the
virtual table for it to restore itself back to, which should also have the
effect of deleting all saved states with an integer identifier greater than
this one.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.RollbackTo
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
cursor
The SQLiteVirtualTableCursor object instance associated with the
previously opened virtual table cursor to be used.
rowId
Upon success, this parameter must be modified to contain the unique
integer row identifier for the current row for the specified cursor.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.RowId
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
savepoint
This is an integer identifier under which the the current state of the
virtual table should be saved.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Savepoint
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Arranges for the specified error message to be placed into the zErrMsg
field of a sqlite3_vtab derived structure, freeing the existing error
message, if any.
Parameters
cursor
The SQLiteVirtualTableCursor object instance used to lookup the native
pointer to the sqlite3_vtab derived structure.
error
The error message.
Return Value
Non-zero upon success.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Overload List
Modifies the specified SQLiteIndex object instance to contain the default
estimated cost.
protected virtual bool SetEstimatedCost(SQLiteIndex)
Modifies the specified SQLiteIndex object instance to contain the specified
estimated cost.
protected virtual bool SetEstimatedCost(SQLiteIndex,double?)
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
index
The SQLiteIndex object instance to modify.
Return Value
Non-zero upon success.
See Also
SQLiteModule Class | System.Data.SQLite Namespace |
SQLiteModule.SetEstimatedCost Overload List
Parameters
index
The SQLiteIndex object instance to modify.
estimatedCost
The estimated cost value to use. Using a null value means that the
default value provided by the SQLite core library should be used.
Return Value
Non-zero upon success.
See Also
SQLiteModule Class | System.Data.SQLite Namespace |
SQLiteModule.SetEstimatedCost Overload List
Overload List
Modifies the specified SQLiteIndex object instance to contain the default
estimated rows.
protected virtual bool SetEstimatedRows(SQLiteIndex)
Modifies the specified SQLiteIndex object instance to contain the specified
estimated rows.
protected virtual bool SetEstimatedRows(SQLiteIndex,long?)
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
index
The SQLiteIndex object instance to modify.
Return Value
Non-zero upon success.
See Also
SQLiteModule Class | System.Data.SQLite Namespace |
SQLiteModule.SetEstimatedRows Overload List
Parameters
index
The SQLiteIndex object instance to modify.
estimatedRows
The estimated rows value to use. Using a null value means that the
default value provided by the SQLite core library should be used.
Return Value
Non-zero upon success.
See Also
SQLiteModule Class | System.Data.SQLite Namespace |
SQLiteModule.SetEstimatedRows Overload List
Overload List
Modifies the specified SQLiteIndex object instance to contain the default
index flags.
protected virtual bool SetIndexFlags(SQLiteIndex)
protected virtual bool SetIndexFlags(SQLiteIndex,SQLiteIndexFlags?)
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
index
The SQLiteIndex object instance to modify.
Return Value
Non-zero upon success.
See Also
SQLiteModule Class | System.Data.SQLite Namespace |
SQLiteModule.SetIndexFlags Overload List
See Also
SQLiteModule Class | System.Data.SQLite Namespace |
SQLiteModule.SetIndexFlags Overload List
Arranges for the specified error message to be placed into the zErrMsg
field of a sqlite3_vtab derived structure, freeing the existing error
message, if any.
Overload List
Arranges for the specified error message to be placed into the zErrMsg
field of a sqlite3_vtab derived structure, freeing the existing error
message, if any.
protected virtual bool SetTableError(SQLiteVirtualTable,string)
Arranges for the specified error message to be placed into the zErrMsg
field of a sqlite3_vtab derived structure, freeing the existing error
message, if any.
protected virtual bool SetTableError(IntPtr,string)
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Arranges for the specified error message to be placed into the zErrMsg
field of a sqlite3_vtab derived structure, freeing the existing error
message, if any.
Parameters
table
The SQLiteVirtualTable object instance used to lookup the native
pointer to the sqlite3_vtab derived structure.
error
The error message.
Return Value
Non-zero upon success.
See Also
SQLiteModule Class | System.Data.SQLite Namespace |
SQLiteModule.SetTableError Overload List
Arranges for the specified error message to be placed into the zErrMsg
field of a sqlite3_vtab derived structure, freeing the existing error
message, if any.
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
error
The error message.
Return Value
Non-zero upon success.
See Also
SQLiteModule Class | System.Data.SQLite Namespace |
SQLiteModule.SetTableError Overload List
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Sync
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Reads and returns the native pointer to the sqlite3_vtab derived structure
based on the native pointer to the sqlite3_vtab_cursor derived structure.
Parameters
pCursor
The native pointer to the sqlite3_vtab_cursor derived structure from
which to read the native pointer to the sqlite3_vtab derived structure.
Return Value
The native pointer to the sqlite3_vtab derived structure -OR- Zero if it
cannot be determined.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
pVtab
The native pointer to the sqlite3_vtab derived structure.
Return Value
The SQLiteVirtualTable object instance or null if the corresponding one
cannot be found.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
table
The SQLiteVirtualTable object instance to be used when creating the
association.
Return Value
The native pointer to a sqlite3_vtab derived structure or Zero if the
method fails for any reason.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
table
The SQLiteVirtualTable object instance associated with this virtual
table.
values
The array of SQLiteValue object instances containing the new or
modified column values, if any.
rowId
Upon success, this parameter must be modified to contain the unique
integer row identifier for the row that was inserted, if any.
Return Value
A standard SQLite return code.
Implements
ISQLiteManagedModule.Update
See Also
SQLiteModule Class | System.Data.SQLite Namespace
Parameters
pVtab
The native pointer to the native sqlite3_vtab derived structure to zero.
See Also
SQLiteModule Class | System.Data.SQLite Namespace
This class contains some virtual methods that may be useful for other
virtual table classes. It specifically does NOT implement any of the
ISQLiteManagedModule interface methods.
For a list of all members of this type, see SQLiteModuleCommon Members .
System.Object SQLiteModule
SQLiteModuleNoop
SQLiteModuleCommon
SQLiteModuleEnumerable
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteModuleCommon Members | System.Data.SQLite Namespace
SQLiteModuleCommon overview
See Also
SQLiteModuleCommon Class | System.Data.SQLite Namespace
Overload List
Constructs an instance of this class.
public SQLiteModuleCommon(string)
Constructs an instance of this class.
public SQLiteModuleCommon(string,bool)
See Also
SQLiteModuleCommon Class | System.Data.SQLite Namespace
SQLiteModuleCommon(
string name
);
Parameters
name
The name of the module. This parameter cannot be null.
See Also
SQLiteModuleCommon Class | System.Data.SQLite Namespace |
SQLiteModuleCommon Constructor Overload List
SQLiteModuleCommon(
string name,
bool objectIdentity
);
Parameters
name
The name of the module. This parameter cannot be null.
objectIdentity
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This parameter has
no effect on the .NET Compact Framework.
See Also
SQLiteModuleCommon Class | System.Data.SQLite Namespace |
SQLiteModuleCommon Constructor Overload List
See Also
SQLiteModuleCommon Class | System.Data.SQLite Namespace
Sets the table error message to one that indicates the virtual table cursor
is of the wrong type.
Parameters
cursor
The SQLiteVirtualTableCursor object instance.
type
The Type that the virtual table cursor should be.
Return Value
The value of Error.
See Also
SQLiteModuleCommon Class | System.Data.SQLite Namespace
Overload List
Inherited from SQLiteModule.
public void Dispose()
Disposes of this object instance.
protected override void Dispose(bool)
See Also
SQLiteModuleCommon Class | System.Data.SQLite Namespace
Parameters
disposing
Non-zero if this method is being called from the Dispose method. Zero
if this method is being called from the finalizer.
See Also
SQLiteModuleCommon Class | System.Data.SQLite Namespace |
SQLiteModuleCommon.Dispose Overload List
Parameters
cursor
The SQLiteVirtualTableCursor object instance associated with the
previously opened virtual table cursor to be used.
value
The object instance to return a unique row identifier for.
Return Value
The unique row identifier or zero upon failure.
See Also
SQLiteModuleCommon Class | System.Data.SQLite Namespace
Determines the SQL statement used to declare the virtual table. This
method should be overridden in derived classes if they require a custom
virtual table schema.
Return Value
The SQL statement used to declare the virtual table -OR- null if it cannot
be determined.
See Also
SQLiteModuleCommon Class | System.Data.SQLite Namespace
Determines the string to return as the column value for the object
instance value.
Parameters
cursor
The SQLiteVirtualTableCursor object instance associated with the
previously opened virtual table cursor to be used.
value
The object instance to return a string representation for.
Return Value
The string representation of the specified object instance or null upon
failure.
See Also
SQLiteModuleCommon Class | System.Data.SQLite Namespace
Constructs an Int64 unique row identifier from two Int32 values. The first
Int32 value must contain the row sequence number for the current row
and the second value must contain the hash code of the key column value
for the current row.
Parameters
rowIndex
The integer row sequence number for the current row.
hashCode
The hash code of the key column value for the current row.
Return Value
The unique row identifier or zero upon failure.
See Also
SQLiteModuleCommon Class | System.Data.SQLite Namespace
connection.CreateModule(new SQLiteModuleEnumerable(
"sampleModule", new string[] { "one", "two", "three" })
command.ExecuteNonQuery();
}
connection.Close();
}
}
}
For a list of all members of this type, see SQLiteModuleEnumerable
Members .
System.Object SQLiteModule
SQLiteModuleNoop
SQLiteModuleCommon
SQLiteModuleEnumerable
SQLiteModuleEnumerable(T)
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteModuleEnumerable Members | System.Data.SQLite Namespace
SQLiteModuleEnumerable overview
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Overload List
Constructs an instance of this class.
public SQLiteModuleEnumerable(string,IEnumerable)
Constructs an instance of this class.
public SQLiteModuleEnumerable(string,IEnumerable,bool)
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
SQLiteModuleEnumerable(
string name,
IEnumerable enumerable
);
Parameters
name
The name of the module. This parameter cannot be null.
enumerable
The IEnumerable instance to expose as a virtual table. This parameter
cannot be null.
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace |
SQLiteModuleEnumerable Constructor Overload List
SQLiteModuleEnumerable(
string name,
IEnumerable enumerable,
bool objectIdentity
);
Parameters
name
The name of the module. This parameter cannot be null.
enumerable
The IEnumerable instance to expose as a virtual table. This parameter
cannot be null.
objectIdentity
Non-zero if different object instances with the same value should
generate different row identifiers, where applicable. This parameter has
no effect on the .NET Compact Framework.
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace |
SQLiteModuleEnumerable Constructor Overload List
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Parameters
table
See the BestIndex method.
index
See the BestIndex method.
Return Value
See the BestIndex method.
Implements
ISQLiteManagedModule.BestIndex
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Parameters
cursor
See the Close method.
Return Value
See the Close method.
Implements
ISQLiteManagedModule.Close
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Parameters
cursor
See the Column method.
context
See the Column method.
index
See the Column method.
Return Value
See the Column method.
Implements
ISQLiteManagedModule.Column
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Parameters
connection
See the Connect method.
pClientData
See the Connect method.
arguments
See the Connect method.
table
See the Connect method.
error
See the Connect method.
Return Value
See the Connect method.
Implements
ISQLiteManagedModule.Connect
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Parameters
connection
See the Create method.
pClientData
See the Create method.
arguments
See the Create method.
table
See the Create method.
error
See the Create method.
Return Value
See the Create method.
Implements
ISQLiteManagedModule.Create
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Sets the table error message to one that indicates the virtual table cursor
has no current row.
Parameters
cursor
The SQLiteVirtualTableCursor object instance.
Return Value
The value of Error.
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Parameters
table
See the Destroy method.
Return Value
See the Destroy method.
Implements
ISQLiteManagedModule.Destroy
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Parameters
table
See the Disconnect method.
Return Value
See the Disconnect method.
Implements
ISQLiteManagedModule.Disconnect
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Overload List
Inherited from SQLiteModule.
public void Dispose()
Disposes of this object instance.
protected override void Dispose(bool)
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Parameters
disposing
Non-zero if this method is being called from the Dispose method. Zero
if this method is being called from the finalizer.
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace |
SQLiteModuleEnumerable.Dispose Overload List
Parameters
cursor
See the Eof method.
Return Value
See the Eof method.
Implements
ISQLiteManagedModule.Eof
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Parameters
cursor
See the Filter method.
indexNumber
See the Filter method.
indexString
See the Filter method.
values
See the Filter method.
Return Value
See the Filter method.
Implements
ISQLiteManagedModule.Filter
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Parameters
cursor
See the Next method.
Return Value
See the Next method.
Implements
ISQLiteManagedModule.Next
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Parameters
table
See the Open method.
cursor
See the Open method.
Return Value
See the Open method.
Implements
ISQLiteManagedModule.Open
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Parameters
table
See the Rename method.
newName
See the Rename method.
Return Value
See the Rename method.
Implements
ISQLiteManagedModule.Rename
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Parameters
cursor
See the RowId method.
rowId
See the RowId method.
Return Value
See the RowId method.
Implements
ISQLiteManagedModule.RowId
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Parameters
table
See the Update method.
values
See the Update method.
rowId
See the Update method.
Return Value
See the Update method.
Implements
ISQLiteManagedModule.Update
See Also
SQLiteModuleEnumerable Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteModuleNoop Members | System.Data.SQLite Namespace
SQLiteModuleNoop overview
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
SQLiteModuleNoop(
string name
);
Parameters
name
The name of the module. This parameter cannot be null.
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
table
See the Begin method.
Return Value
See the Begin method.
Implements
ISQLiteManagedModule.Begin
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
table
See the BestIndex method.
index
See the BestIndex method.
Return Value
See the BestIndex method.
Implements
ISQLiteManagedModule.BestIndex
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
cursor
See the Close method.
Return Value
See the Close method.
Implements
ISQLiteManagedModule.Close
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
cursor
See the Column method.
context
See the Column method.
index
See the Column method.
Return Value
See the Column method.
Implements
ISQLiteManagedModule.Column
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
table
See the Commit method.
Return Value
See the Commit method.
Implements
ISQLiteManagedModule.Commit
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
connection
See the Connect method.
pClientData
See the Connect method.
arguments
See the Connect method.
table
See the Connect method.
error
See the Connect method.
Return Value
See the Connect method.
Implements
ISQLiteManagedModule.Connect
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
connection
See the Create method.
pClientData
See the Create method.
arguments
See the Create method.
table
See the Create method.
error
See the Create method.
Return Value
See the Create method.
Implements
ISQLiteManagedModule.Create
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
table
See the Destroy method.
Return Value
See the Destroy method.
Implements
ISQLiteManagedModule.Destroy
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
table
See the Disconnect method.
Return Value
See the Disconnect method.
Implements
ISQLiteManagedModule.Disconnect
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Overload List
Inherited from SQLiteModule.
public void Dispose()
Disposes of this object instance.
protected override void Dispose(bool)
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
disposing
Non-zero if this method is being called from the Dispose method. Zero
if this method is being called from the finalizer.
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace |
SQLiteModuleNoop.Dispose Overload List
Parameters
cursor
See the Eof method.
Return Value
See the Eof method.
Implements
ISQLiteManagedModule.Eof
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
cursor
See the Filter method.
indexNumber
See the Filter method.
indexString
See the Filter method.
values
See the Filter method.
Return Value
See the Filter method.
Implements
ISQLiteManagedModule.Filter
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
table
See the FindFunction method.
argumentCount
See the FindFunction method.
name
See the FindFunction method.
function
See the FindFunction method.
pClientData
See the FindFunction method.
Return Value
See the FindFunction method.
Implements
ISQLiteManagedModule.FindFunction
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Return Value
The SQLiteErrorCode value that should be returned by all
ISQLiteManagedModule interface methods unless a more specific result
code has been set for that interface method.
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
methodName
The name of the method. Currently, this method must be part of the
ISQLiteManagedModule interface.
Return Value
The SQLiteErrorCode value that should be returned by the
ISQLiteManagedModule interface method.
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
cursor
See the Next method.
Return Value
See the Next method.
Implements
ISQLiteManagedModule.Next
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
table
See the Open method.
cursor
See the Open method.
Return Value
See the Open method.
Implements
ISQLiteManagedModule.Open
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
table
See the Release method.
savepoint
See the Release method.
Return Value
See the Release method.
Implements
ISQLiteManagedModule.Release
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
table
See the Rename method.
newName
See the Rename method.
Return Value
See the Rename method.
Implements
ISQLiteManagedModule.Rename
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Converts a SQLiteErrorCode value into a boolean return value for use with
the Eof method.
Parameters
resultCode
The SQLiteErrorCode value to convert.
Return Value
The Boolean value.
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Converts a SQLiteErrorCode value into a boolean return value for use with
the FindFunction method.
Parameters
resultCode
The SQLiteErrorCode value to convert.
Return Value
The Boolean value.
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
table
See the Rollback method.
Return Value
See the Rollback method.
Implements
ISQLiteManagedModule.Rollback
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
table
See the RollbackTo method.
savepoint
See the RollbackTo method.
Return Value
See the RollbackTo method.
Implements
ISQLiteManagedModule.RollbackTo
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
cursor
See the RowId method.
rowId
See the RowId method.
Return Value
See the RowId method.
Implements
ISQLiteManagedModule.RowId
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
table
See the Savepoint method.
savepoint
See the Savepoint method.
Return Value
See the Savepoint method.
Implements
ISQLiteManagedModule.Savepoint
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
methodName
The name of the method. Currently, this method must be part of the
ISQLiteManagedModule interface.
resultCode
The SQLiteErrorCode value that should be returned by the
ISQLiteManagedModule interface method.
Return Value
Non-zero upon success.
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
table
See the Sync method.
Return Value
See the Sync method.
Implements
ISQLiteManagedModule.Sync
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Parameters
table
See the Update method.
values
See the Update method.
rowId
See the Update method.
Return Value
See the Update method.
Implements
ISQLiteManagedModule.Update
See Also
SQLiteModuleNoop Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteParameter Members | System.Data.SQLite Namespace
SQLiteParameter overview
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
Default constructor
Overload List
Default constructor
public SQLiteParameter()
Constructs an unnamed parameter of the specified data type
public SQLiteParameter(DbType)
Constructs an unnamed parameter of the specified type and size
public SQLiteParameter(DbType,int)
Constructs an unnamed parameter of the specified type, size, and source
column
public SQLiteParameter(DbType,int,string)
Constructs an unnamed parameter of the specified type, size, source
column and row version
public SQLiteParameter(DbType,int,string,DataRowVersion)
Constructs an unnamed parameter of the specified data type and sets the
initial value
public SQLiteParameter(DbType,object)
Constructs an unnamed parameter of the specified data type and source
column
public SQLiteParameter(DbType,string)
Constructs an unnamed parameter of the specified data type, source
column and row version
public SQLiteParameter(DbType,string,DataRowVersion)
Constructs a named parameter given the specified parameter name
public SQLiteParameter(string)
Constructs a named parameter of the specified type
public SQLiteParameter(string,DbType)
Constructs a named parameter of the specified type and size
public SQLiteParameter(string,DbType,int)
Constructs a named parameter of the specified type, size, source column
and row version
public SQLiteParameter(string,DbType,int,ParameterDirection,bool,byte,byt
Constructs a named parameter, yet another flavor
public SQLiteParameter(string,DbType,int,ParameterDirection,byte,byte,stri
Constructs a named parameter of the specified type, size and source
column
public SQLiteParameter(string,DbType,int,string)
Constructs a named parameter of the specified type, size, source column
and row version
public SQLiteParameter(string,DbType,int,string,DataRowVersion)
Constructs a named parameter of the specified type and source column
reference
public SQLiteParameter(string,DbType,string)
Constructs a named parameter of the specified type, source column and
row version
public SQLiteParameter(string,DbType,string,DataRowVersion)
Constructs a named parameter given the specified parameter name and
initial value
public SQLiteParameter(string,object)
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
Default constructor
SQLiteParameter();
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
SQLiteParameter(
string parameterName
);
Parameters
parameterName
The parameter name
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
SQLiteParameter(
string parameterName,
object value
);
Parameters
parameterName
The parameter name
value
The initial value of the parameter
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
SQLiteParameter(
string parameterName,
DbType dbType
);
Parameters
parameterName
The parameter name
dbType
The datatype of the parameter
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
SQLiteParameter(
string parameterName,
DbType dbType,
string sourceColumn
);
Parameters
parameterName
The parameter name
dbType
The data type
sourceColumn
The source column
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
SQLiteParameter(
string parameterName,
DbType dbType,
string sourceColumn,
DataRowVersion rowVersion
);
Parameters
parameterName
The parameter name
dbType
The data type
sourceColumn
The source column
rowVersion
The row version information
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
SQLiteParameter(
DbType dbType
);
Parameters
dbType
The datatype of the parameter
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
Constructs an unnamed parameter of the specified data type and sets the
initial value
SQLiteParameter(
DbType dbType,
object value
);
Parameters
dbType
The datatype of the parameter
value
The initial value of the parameter
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
SQLiteParameter(
DbType dbType,
string sourceColumn
);
Parameters
dbType
The datatype of the parameter
sourceColumn
The source column
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
SQLiteParameter(
DbType dbType,
string sourceColumn,
DataRowVersion rowVersion
);
Parameters
dbType
The data type
sourceColumn
The source column
rowVersion
The row version information
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
SQLiteParameter(
string parameterName,
DbType parameterType,
int parameterSize
);
Parameters
parameterName
The parameter name
parameterType
The data type
parameterSize
The size of the parameter
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
SQLiteParameter(
string parameterName,
DbType parameterType,
int parameterSize,
string sourceColumn
);
Parameters
parameterName
The name of the parameter
parameterType
The data type
parameterSize
The size of the parameter
sourceColumn
The source column
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
SQLiteParameter(
string parameterName,
DbType parameterType,
int parameterSize,
string sourceColumn,
DataRowVersion rowVersion
);
Parameters
parameterName
The name of the parameter
parameterType
The data type
parameterSize
The size of the parameter
sourceColumn
The source column
rowVersion
The row version information
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
SQLiteParameter(
string parameterName,
DbType parameterType,
int parameterSize,
ParameterDirection direction,
bool isNullable,
byte precision,
byte scale,
string sourceColumn,
DataRowVersion rowVersion,
object value
);
Parameters
parameterName
The name of the parameter
parameterType
The data type
parameterSize
The size of the parameter
direction
Only input parameters are supported in SQLite
isNullable
Ignored
precision
Ignored
scale
Ignored
sourceColumn
The source column
rowVersion
The row version information
value
The initial value to assign the parameter
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
SQLiteParameter(
string parameterName,
DbType parameterType,
int parameterSize,
ParameterDirection direction,
byte precision,
byte scale,
string sourceColumn,
DataRowVersion rowVersion,
bool sourceColumnNullMapping,
object value
);
Parameters
parameterName
The name of the parameter
parameterType
The data type
parameterSize
The size of the parameter
direction
Only input parameters are supported in SQLite
precision
Ignored
scale
Ignored
sourceColumn
The source column
rowVersion
The row version information
sourceColumnNullMapping
Whether or not this parameter is for comparing NULL's
value
The intial value to assign the parameter
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
SQLiteParameter(
DbType parameterType,
int parameterSize
);
Parameters
parameterType
The data type
parameterSize
The size of the parameter
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
SQLiteParameter(
DbType parameterType,
int parameterSize,
string sourceColumn
);
Parameters
parameterType
The data type
parameterSize
The size of the parameter
sourceColumn
The source column
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
SQLiteParameter(
DbType parameterType,
int parameterSize,
string sourceColumn,
DataRowVersion rowVersion
);
Parameters
parameterType
The data type
parameterSize
The size of the parameter
sourceColumn
The source column
rowVersion
The row version information
See Also
SQLiteParameter Class | System.Data.SQLite Namespace |
SQLiteParameter Constructor Overload List
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
Implements
IDataParameter.DbType
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
Implements
IDataParameter.Direction
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
Implements
IDataParameter.IsNullable
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
Implements
IDataParameter.ParameterName
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
Implements
IDbDataParameter.Size
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
Implements
IDataParameter.SourceColumn
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
Implements
IDataParameter.SourceVersion
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
Gets and sets the parameter value. If no datatype was specified, the
datatype will assume the type from the value given.
Implements
IDataParameter.Value
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
Clones a parameter
Return Value
A new, unassociated SQLiteParameter
Implements
ICloneable.Clone
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
Resets the DbType of the parameter so it can be inferred from the value
See Also
SQLiteParameter Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteParameterCollection Members | System.Data.SQLite Namespace
SQLiteParameterCollection overview
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Implements
ICollection.Count
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Returns false
Implements
IList.IsFixedSize
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Returns false
Implements
IList.IsReadOnly
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Returns false
Implements
ICollection.IsSynchronized
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Overload List
Overloaded to specialize the return value of the default indexer
public SQLiteParameter this[int] { public get; public set; }
Overloaded to specialize the return value of the default indexer
public SQLiteParameter this[string] { public get; public set; }
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Parameters
index
The index of the parameter to get/set
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.Item Overload List
Parameters
parameterName
Name of the parameter to get/set
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.Item Overload List
Returns null
Implements
ICollection.SyncRoot
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Send comments on this topic.
Generated from assembly System.Data.SQLite [1.0.104.0] by NDoc3
SQLite ADO.NET Provider
SQLiteParameterCollection.Add Method
Overload List
Adds a parameter to the collection
public int Add(SQLiteParameter)
Adds a parameter to the collection
public override int Add(object)
Adds a parameter to the collection
public SQLiteParameter Add(string,DbType)
Adds a parameter to the collection
public SQLiteParameter Add(string,DbType,int)
Adds a parameter to the collection
public SQLiteParameter Add(string,DbType,int,string)
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Parameters
parameter
The parameter to add
Return Value
A zero-based index of where the parameter is located in the array
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.Add Overload List
Parameters
value
The parameter to add
Return Value
A zero-based index of where the parameter is located in the array
Implements
IList.Add
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.Add Overload List
Parameters
parameterName
The parameter name
parameterType
The data type
Return Value
A SQLiteParameter object
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.Add Overload List
Parameters
parameterName
The parameter name
parameterType
The data type
parameterSize
The size of the value
Return Value
A SQLiteParameter object
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.Add Overload List
Parameters
parameterName
The parameter name
parameterType
The data type
parameterSize
The size of the value
sourceColumn
The source column
Return Value
A SQLiteParameter object
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.Add Overload List
Overload List
Adds an array of parameters to the collection
public override void AddRange(Array)
Adds an array of parameters to the collection
public void AddRange(SQLiteParameter[])
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Parameters
values
The array of parameters to add
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.AddRange Overload List
Parameters
values
The array of parameters to add
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.AddRange Overload List
Parameters
parameterName
Name of the parameter, or null to indicate an unnamed parameter
value
The initial value of the parameter
Return Value
Returns the SQLiteParameter object created during the call.
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Implements
IList.Clear
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Overload List
Determines if the parameter exists in the collection
public override bool Contains(object)
Determines if the named parameter exists in the collection
public override bool Contains(string)
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Parameters
value
The SQLiteParameter to check
Return Value
True if the parameter is in the collection
Implements
IList.Contains
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.Contains Overload List
Parameters
parameterName
The name of the parameter to check
Return Value
True if the parameter is in the collection
Implements
IDataParameterCollection.Contains
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.Contains Overload List
Not implemented
Parameters
array
index
Implements
ICollection.CopyTo
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Return Value
An enumerator for the underlying array
Implements
IEnumerable.GetEnumerator
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Overload List
Retrieves a parameter by its index in the collection
protected override DbParameter GetParameter(int)
Retrieve a parameter by name from the collection
protected override DbParameter GetParameter(string)
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Parameters
index
The index of the parameter to retrieve
Return Value
A DbParameter object
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.GetParameter Overload List
Parameters
parameterName
The name of the parameter to fetch
Return Value
A DbParameter object
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.GetParameter Overload List
Overload List
Returns the index of a parameter
public override int IndexOf(object)
Returns the index of a parameter given its name
public override int IndexOf(string)
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Parameters
value
The parameter to find
Return Value
-1 if not found, otherwise a zero-based index of the parameter
Implements
IList.IndexOf
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.IndexOf Overload List
Parameters
parameterName
The name of the parameter to find
Return Value
-1 if not found, otherwise a zero-based index of the parameter
Implements
IDataParameterCollection.IndexOf
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.IndexOf Overload List
Parameters
index
The zero-based index to insert the parameter at
value
The parameter to insert
Implements
IList.Insert
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Parameters
value
The parameter to remove
Implements
IList.Remove
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Overload List
Removes a parameter from the collection given its index
public override void RemoveAt(int)
Removes a parameter from the collection given its name
public override void RemoveAt(string)
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Parameters
index
The zero-based parameter index to remove
Implements
IList.RemoveAt
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.RemoveAt Overload List
Parameters
parameterName
The name of the parameter to remove
Implements
IDataParameterCollection.RemoveAt
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.RemoveAt Overload List
Overload List
Re-assign a parameter at the specified index
protected override void SetParameter(int,DbParameter)
Re-assign the named parameter to a new parameter object
protected override void SetParameter(string,DbParameter)
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace
Parameters
index
The zero-based index of the parameter to replace
value
The new parameter
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.SetParameter Overload List
Parameters
parameterName
The name of the parameter to replace
value
The new parameter
See Also
SQLiteParameterCollection Class | System.Data.SQLite Namespace |
SQLiteParameterCollection.SetParameter Overload List
Parameters
sender
The connection performing the operation.
e
A ProgressEventArgs that contains the event data.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Members
Member Name Description
Continue The operation should continue.
Interrupt The operation should be
interrupted.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
This class represents the parameters that are provided to the GetBytes
and GetChars methods, with the exception of the column index (provided
separately).
For a list of all members of this type, see SQLiteReadArrayEventArgs
Members .
System.Object EventArgs
SQLiteReadEventArgs
SQLiteReadArrayEventArgs
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteReadArrayEventArgs Members | System.Data.SQLite Namespace
SQLiteReadArrayEventArgs overview
See Also
SQLiteReadArrayEventArgs Class | System.Data.SQLite Namespace
See Also
SQLiteReadArrayEventArgs Class | System.Data.SQLite Namespace
The value that was originally specified for the "bufferOffset" parameter to
the GetBytes or GetChars methods.
See Also
SQLiteReadArrayEventArgs Class | System.Data.SQLite Namespace
The value that was originally specified for the "buffer" parameter to the
GetBytes method.
See Also
SQLiteReadArrayEventArgs Class | System.Data.SQLite Namespace
The value that was originally specified for the "buffer" parameter to the
GetChars method.
See Also
SQLiteReadArrayEventArgs Class | System.Data.SQLite Namespace
The value that was originally specified for the "dataOffset" parameter to
the GetBytes or GetChars methods.
See Also
SQLiteReadArrayEventArgs Class | System.Data.SQLite Namespace
The value that was originally specified for the "length" parameter to the
GetBytes or GetChars methods.
See Also
SQLiteReadArrayEventArgs Class | System.Data.SQLite Namespace
This class represents the parameters that are provided to the GetBlob
method, with the exception of the column index (provided separately).
For a list of all members of this type, see SQLiteReadBlobEventArgs
Members .
System.Object EventArgs
SQLiteReadEventArgs
SQLiteReadBlobEventArgs
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteReadBlobEventArgs Members | System.Data.SQLite Namespace
SQLiteReadBlobEventArgs overview
See Also
SQLiteReadBlobEventArgs Class | System.Data.SQLite Namespace
See Also
SQLiteReadBlobEventArgs Class | System.Data.SQLite Namespace
The value that was originally specified for the "readOnly" parameter to the
GetBlob method.
See Also
SQLiteReadBlobEventArgs Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteReadEventArgs Members | System.Data.SQLite Namespace
SQLiteReadEventArgs overview
See Also
SQLiteReadEventArgs Class | System.Data.SQLite Namespace
SQLiteReadEventArgs();
See Also
SQLiteReadEventArgs Class | System.Data.SQLite Namespace
Parameters
convert
The SQLiteConvert instance in use.
dataReader
The SQLiteDataReader instance in use.
flags
The flags associated with the SQLiteConnection instance in use.
eventArgs
The parameter and return type data for the column being read from the
data reader.
typeName
The database type name associated with this callback.
index
The zero based index of the column being read from the data reader.
userData
The data originally used when registering this callback.
complete
Non-zero if the default handling for the data reader call should be
skipped. If this is set to non-zero and the necessary return value is
unavailable or unsuitable, an exception will be thrown.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
This class represents the parameters and return values for the GetBlob,
GetBoolean, GetByte, GetBytes, GetChar, GetChars, GetDateTime,
GetDecimal, GetDouble, GetFloat, GetGuid, GetInt16, GetInt32, GetInt64,
GetString, and GetValue methods.
For a list of all members of this type, see SQLiteReadValueEventArgs
Members .
System.Object EventArgs
SQLiteReadEventArgs
SQLiteReadValueEventArgs
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteReadValueEventArgs Members | System.Data.SQLite Namespace
SQLiteReadValueEventArgs overview
See Also
SQLiteReadValueEventArgs Class | System.Data.SQLite Namespace
See Also
SQLiteReadValueEventArgs Class | System.Data.SQLite Namespace
If the GetBytes or GetChars method is being called, this object will contain
the array related parameters for that method. If the GetBlob method is
being called, this object will contain the blob related parameters for that
method.
See Also
SQLiteReadValueEventArgs Class | System.Data.SQLite Namespace
See Also
SQLiteReadValueEventArgs Class | System.Data.SQLite Namespace
This may be used by the callback to set the return value for the called
SQLiteDataReader method.
See Also
SQLiteReadValueEventArgs Class | System.Data.SQLite Namespace
Parameters
param0
This is always the string literal "Step".
args
The arguments for the aggregate function.
stepNumber
The step number (one based). This is incrememted each time the Step
method is called.
contextData
A placeholder for implementers to store contextual data pertaining to
the current context.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Parameters
sender
The connection executing the statement
e
Event arguments of the trace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteTransaction Members | System.Data.SQLite Namespace
SQLiteTransaction overview
See Also
SQLiteTransaction Class | System.Data.SQLite Namespace
See Also
SQLiteTransaction Class | System.Data.SQLite Namespace
Parameters
deferredLock
TRUE to defer the writelock, or FALSE to lock immediately
See Also
SQLiteTransaction Class | System.Data.SQLite Namespace
Implements
IDbTransaction.Commit
See Also
SQLiteTransaction Class | System.Data.SQLite Namespace
Overload List
Inherited from DbTransaction.
public void Dispose()
Disposes the transaction. If it is currently active, any changes are rolled
back.
protected override void Dispose(bool)
See Also
SQLiteTransaction Class | System.Data.SQLite Namespace
See Also
SQLiteTransaction Class | System.Data.SQLite Namespace |
SQLiteTransaction.Dispose Overload List
Parameters
throwError
Non-zero to re-throw caught exceptions.
See Also
SQLiteTransaction Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteTransaction2 Members | System.Data.SQLite Namespace
SQLiteTransaction2 overview
See Also
SQLiteTransaction2 Class | System.Data.SQLite Namespace
See Also
SQLiteTransaction2 Class | System.Data.SQLite Namespace
Parameters
deferredLock
TRUE to defer the writelock, or FALSE to lock immediately
See Also
SQLiteTransaction2 Class | System.Data.SQLite Namespace
Implements
IDbTransaction.Commit
See Also
SQLiteTransaction2 Class | System.Data.SQLite Namespace
Overload List
Inherited from DbTransaction.
public void Dispose()
Disposes the transaction. If it is currently active, any changes are rolled
back.
protected override void Dispose(bool)
See Also
SQLiteTransaction2 Class | System.Data.SQLite Namespace
See Also
SQLiteTransaction2 Class | System.Data.SQLite Namespace |
SQLiteTransaction2.Dispose Overload List
Parameters
throwError
Non-zero to re-throw caught exceptions.
See Also
SQLiteTransaction2 Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteTransactionBase Members | System.Data.SQLite Namespace
SQLiteTransactionBase overview
See Also
SQLiteTransactionBase Class | System.Data.SQLite Namespace
See Also
SQLiteTransactionBase Class | System.Data.SQLite Namespace
See Also
SQLiteTransactionBase Class | System.Data.SQLite Namespace
See Also
SQLiteTransactionBase Class | System.Data.SQLite Namespace
Implements
IDbTransaction.IsolationLevel
See Also
SQLiteTransactionBase Class | System.Data.SQLite Namespace
See Also
SQLiteTransactionBase Class | System.Data.SQLite Namespace
Parameters
deferredLock
TRUE to defer the writelock, or FALSE to lock immediately
See Also
SQLiteTransactionBase Class | System.Data.SQLite Namespace
Overload List
Inherited from DbTransaction.
public void Dispose()
Disposes the transaction. If it is currently active, any changes are rolled
back.
protected override void Dispose(bool)
See Also
SQLiteTransactionBase Class | System.Data.SQLite Namespace
See Also
SQLiteTransactionBase Class | System.Data.SQLite Namespace |
SQLiteTransactionBase.Dispose Overload List
Parameters
throwError
Non-zero to re-throw caught exceptions.
See Also
SQLiteTransactionBase Class | System.Data.SQLite Namespace
Implements
IDbTransaction.Rollback
See Also
SQLiteTransactionBase Class | System.Data.SQLite Namespace
This class represents the custom data type handling callbacks for a single
type name.
For a list of all members of this type, see SQLiteTypeCallbacks Members .
System.Object SQLiteTypeCallbacks
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteTypeCallbacks Members | System.Data.SQLite Namespace
SQLiteTypeCallbacks overview
See Also
SQLiteTypeCallbacks Class | System.Data.SQLite Namespace
See Also
SQLiteTypeCallbacks Class | System.Data.SQLite Namespace
See Also
SQLiteTypeCallbacks Class | System.Data.SQLite Namespace
The extra data to pass into the parameter binding callback. This value may
be null.
See Also
SQLiteTypeCallbacks Class | System.Data.SQLite Namespace
The custom data reader value callback. This value may be null.
See Also
SQLiteTypeCallbacks Class | System.Data.SQLite Namespace
The extra data to pass into the data reader value callback. This value may
be null.
See Also
SQLiteTypeCallbacks Class | System.Data.SQLite Namespace
The database type name that the callbacks contained in this class will
apply to. This value may not be null.
See Also
SQLiteTypeCallbacks Class | System.Data.SQLite Namespace
See Also
SQLiteTypeCallbacks Class | System.Data.SQLite Namespace
Parameters
bindValueCallback
The custom paramater binding callback. This parameter may be null.
readValueCallback
The custom data reader value callback. This parameter may be null.
bindValueUserData
The extra data to pass into the parameter binding callback. This
parameter may be null.
readValueUserData
The extra data to pass into the data reader value callback. This
parameter may be null.
See Also
SQLiteTypeCallbacks Class | System.Data.SQLite Namespace
Parameters
sender
The connection committing the transaction
e
The event parameters which triggered the event
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
This class represents a value from the SQLite core library that can be
passed to the sqlite3_value_*() and associated functions.
For a list of all members of this type, see SQLiteValue Members .
System.Object SQLiteValue
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteValue Members | System.Data.SQLite Namespace
SQLiteValue overview
See Also
SQLiteValue Class | System.Data.SQLite Namespace
The properties of the SQLiteValue class are listed below. For a complete
list of SQLiteValue class members, see the SQLiteValue Members topic.
See Also
SQLiteValue Class | System.Data.SQLite Namespace
Returns the underlying SQLite native handle associated with this object
instance.
Implements
ISQLiteNativeHandle.NativeHandle
See Also
SQLiteValue Class | System.Data.SQLite Namespace
See Also
SQLiteValue Class | System.Data.SQLite Namespace
If the managed value for this object instance is available (i.e. it has been
previously persisted via the Persist) method, that value is returned;
otherwise, an exception is thrown. The returned value may be null.
See Also
SQLiteValue Class | System.Data.SQLite Namespace
The methods of the SQLiteValue class are listed below. For a complete list
of SQLiteValue class members, see the SQLiteValue Members topic.
See Also
SQLiteValue Class | System.Data.SQLite Namespace
Gets and returns the Byte array associated with this value.
Return Value
The Byte array associated with this value.
See Also
SQLiteValue Class | System.Data.SQLite Namespace
Gets and returns the number of bytes associated with this value, if it
refers to a UTF-8 encoded string.
Return Value
The number of bytes associated with this value. The returned value may
be zero.
See Also
SQLiteValue Class | System.Data.SQLite Namespace
Return Value
The Double associated with this value.
See Also
SQLiteValue Class | System.Data.SQLite Namespace
Return Value
The Int32 associated with this value.
See Also
SQLiteValue Class | System.Data.SQLite Namespace
Return Value
The Int64 associated with this value.
See Also
SQLiteValue Class | System.Data.SQLite Namespace
Return Value
The String associated with this value. The value is converted from the
UTF-8 encoding prior to being returned.
See Also
SQLiteValue Class | System.Data.SQLite Namespace
Gets and returns the type affinity associated with this value.
Return Value
The type affinity associated with this value.
See Also
SQLiteValue Class | System.Data.SQLite Namespace
Uses the native value handle to obtain and store the managed value for
this object instance, thus saving it for later use. The type of the managed
value is determined by the type affinity of the native value. If the type
affinity is not recognized by this method, no work is done and false is
returned.
Return Value
Non-zero if the native value was persisted successfully.
See Also
SQLiteValue Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteVirtualTable Members | System.Data.SQLite Namespace
SQLiteVirtualTable overview
See Also
SQLiteVirtualTable Class | System.Data.SQLite Namespace
SQLiteVirtualTable(
string[] arguments
);
Parameters
arguments
The original array of strings provided to the Create and Connect
methods.
See Also
SQLiteVirtualTable Class | System.Data.SQLite Namespace
See Also
SQLiteVirtualTable Class | System.Data.SQLite Namespace
The original array of strings provided to the Create and Connect methods.
See Also
SQLiteVirtualTable Class | System.Data.SQLite Namespace
See Also
SQLiteVirtualTable Class | System.Data.SQLite Namespace
The SQLiteIndex object instance containing all the data for the inputs and
outputs relating to the most recent index selection.
See Also
SQLiteVirtualTable Class | System.Data.SQLite Namespace
See Also
SQLiteVirtualTable Class | System.Data.SQLite Namespace
Returns the underlying SQLite native handle associated with this object
instance.
Implements
ISQLiteNativeHandle.NativeHandle
See Also
SQLiteVirtualTable Class | System.Data.SQLite Namespace
See Also
SQLiteVirtualTable Class | System.Data.SQLite Namespace
Parameters
index
The SQLiteIndex object instance containing all the data for the inputs
and outputs relating to index selection.
Return Value
Non-zero upon success.
See Also
SQLiteVirtualTable Class | System.Data.SQLite Namespace
Overload List
Disposes of this object instance.
public void Dispose()
Disposes of this object instance.
protected virtual void Dispose(bool)
See Also
SQLiteVirtualTable Class | System.Data.SQLite Namespace
Implements
IDisposable.Dispose
See Also
SQLiteVirtualTable Class | System.Data.SQLite Namespace |
SQLiteVirtualTable.Dispose Overload List
Parameters
disposing
Non-zero if this method is being called from the Dispose method. Zero
if this method is being called from the finalizer.
See Also
SQLiteVirtualTable Class | System.Data.SQLite Namespace |
SQLiteVirtualTable.Dispose Overload List
See Also
SQLiteVirtualTable Class | System.Data.SQLite Namespace
Attempts to record the renaming of the virtual table associated with this
object instance.
Parameters
name
The new name for the virtual table.
Return Value
Non-zero upon success.
See Also
SQLiteVirtualTable Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteVirtualTableCursor Members | System.Data.SQLite Namespace
SQLiteVirtualTableCursor overview
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
SQLiteVirtualTableCursor(
SQLiteVirtualTable table
);
Parameters
table
The SQLiteVirtualTable object instance associated with this object
instance.
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
Number used to help identify the selected index. This value will be set via
the Filter method.
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
String used to help identify the selected index. This value will be set via
the Filter method.
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
Returns the underlying SQLite native handle associated with this object
instance.
Implements
ISQLiteNativeHandle.NativeHandle
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
The values used to filter the rows returned via this cursor object instance.
This value will be set via the Filter method.
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
Overload List
Disposes of this object instance.
public void Dispose()
Disposes of this object instance.
protected virtual void Dispose(bool)
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
Implements
IDisposable.Dispose
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace |
SQLiteVirtualTableCursor.Dispose Overload List
Parameters
disposing
Non-zero if this method is being called from the Dispose method. Zero
if this method is being called from the finalizer.
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace |
SQLiteVirtualTableCursor.Dispose Overload List
Parameters
indexNumber
Number used to help identify the selected index.
indexString
String used to help identify the selected index.
values
The values corresponding to each column in the selected index.
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
Determines the integer row sequence number for the current row.
Return Value
The integer row sequence number for the current row -OR- zero if it
cannot be determined.
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
Adjusts the integer row sequence number so that it refers to the next row.
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
Parameters
values
The array of SQLiteValue object instances to be persisted.
Return Value
The number of SQLiteValue object instances that were successfully
persisted.
See Also
SQLiteVirtualTableCursor Class | System.Data.SQLite Namespace
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteVirtualTableCursorEnumerator Members | System.Data.SQLite
Namespace
SQLiteVirtualTableCursorEnumerator overview
See Also
SQLiteVirtualTableCursorEnumerator Class | System.Data.SQLite
Namespace
SQLiteVirtualTableCursorEnumerator(
SQLiteVirtualTable table,
IEnumerator enumerator
);
Parameters
table
The SQLiteVirtualTable object instance associated with this object
instance.
enumerator
The IEnumerator instance to expose as a virtual table cursor.
See Also
SQLiteVirtualTableCursorEnumerator Class | System.Data.SQLite
Namespace
See Also
SQLiteVirtualTableCursorEnumerator Class | System.Data.SQLite
Namespace
Send comments on this topic.
Generated from assembly System.Data.SQLite [1.0.104.0] by NDoc3
SQLite ADO.NET Provider
SQLiteVirtualTableCursorEnumerator.Current Property
Returns the value for the current row of the virtual table cursor using the
Current property of the IEnumerator object instance.
Implements
IEnumerator.Current
See Also
SQLiteVirtualTableCursorEnumerator Class | System.Data.SQLite
Namespace
Returns non-zero if the end of the virtual table cursor has been seen (i.e.
no more rows are available, including the current one).
See Also
SQLiteVirtualTableCursorEnumerator Class | System.Data.SQLite
Namespace
See Also
SQLiteVirtualTableCursorEnumerator Class | System.Data.SQLite
Namespace
See Also
SQLiteVirtualTableCursorEnumerator Class | System.Data.SQLite
Namespace
See Also
SQLiteVirtualTableCursorEnumerator Class | System.Data.SQLite
Namespace
Closes the virtual table cursor. This method must not throw any
exceptions.
See Also
SQLiteVirtualTableCursorEnumerator Class | System.Data.SQLite
Namespace
Overload List
Inherited from SQLiteVirtualTableCursor.
public void Dispose()
Disposes of this object instance.
protected override void Dispose(bool)
See Also
SQLiteVirtualTableCursorEnumerator Class | System.Data.SQLite
Namespace
Parameters
disposing
Non-zero if this method is being called from the Dispose method. Zero
if this method is being called from the finalizer.
See Also
SQLiteVirtualTableCursorEnumerator Class | System.Data.SQLite
Namespace | SQLiteVirtualTableCursorEnumerator.Dispose Overload List
Advances to the next row of the virtual table cursor using the MoveNext
method of the IEnumerator object instance.
Return Value
Non-zero if the current row is valid; zero otherwise. If zero is returned, no
further rows are available.
Implements
IEnumerator.MoveNext
See Also
SQLiteVirtualTableCursorEnumerator Class | System.Data.SQLite
Namespace
Resets the virtual table cursor position, also invalidating the current row,
using the Reset method of the IEnumerator object instance.
Implements
IEnumerator.Reset
See Also
SQLiteVirtualTableCursorEnumerator Class | System.Data.SQLite
Namespace
Members
Member Name Description
Normal Normal file flushing at critical
sections of the code
Full Full file flushing after every write
operation
Off Use the default operating system's
file flushing, SQLite does not
explicitly flush the file buffers after
writing
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Passed during an Trace callback, these event arguments contain the UTF-8
rendering of the SQL statement text
For a list of all members of this type, see TraceEventArgs Members .
System.Object EventArgs
TraceEventArgs
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
TraceEventArgs Members | System.Data.SQLite Namespace
TraceEventArgs overview
See Also
TraceEventArgs Class | System.Data.SQLite Namespace
The fields of the TraceEventArgs class are listed below. For a complete
list of TraceEventArgs class members, see the TraceEventArgs Members
topic.
See Also
TraceEventArgs Class | System.Data.SQLite Namespace
See Also
TraceEventArgs Class | System.Data.SQLite Namespace
SQLite has very limited types, and is inherently text-based. The first 5
types below represent the sum of all types SQLite understands. The
DateTime extension to the spec is for internal use only.
Members
Member Name Description
Uninitialized Not used
Int64 All integers in SQLite default to
Int64
Double All floating point numbers in SQLite
default to double
Text The default data type of SQLite is
text
Blob Typically blob types are only seen
when returned from a function
Null Null types can be returned from
functions
DateTime Used internally by this provider
None Used internally by this provider
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Passed during an Update callback, these event arguments detail the type
of update operation being performed on the given connection.
For a list of all members of this type, see UpdateEventArgs Members .
System.Object EventArgs
UpdateEventArgs
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
UpdateEventArgs Members | System.Data.SQLite Namespace
UpdateEventArgs overview
The fields of the UpdateEventArgs class are listed below. For a complete
list of UpdateEventArgs class members, see the UpdateEventArgs
Members topic.
See Also
UpdateEventArgs Class | System.Data.SQLite Namespace
The name of the database being updated (usually "main" but can be any
attached or temporary database)
See Also
UpdateEventArgs Class | System.Data.SQLite Namespace
See Also
UpdateEventArgs Class | System.Data.SQLite Namespace
See Also
UpdateEventArgs Class | System.Data.SQLite Namespace
See Also
UpdateEventArgs Class | System.Data.SQLite Namespace
Members
Member Name Description
Delete A row is being deleted from the
given database and table
Insert A row is being inserted into the
table.
Update A row is being updated in the table.
Requirements
Namespace: System.Data.SQLite
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
System.Data.SQLite Namespace
Namespace Hierarchy
Classes
Class Description
SQLiteModuleEnumerable(T) This class implements a virtual
table module that exposes an
IEnumerable`1 object instance
as a read-only virtual table. It
is not sealed and may be used
as the base class for any user-
defined virtual table class that
wraps an IEnumerable`1
object instance.
SQLiteVirtualTableCursorEnumerator(T) This class represents a virtual
table cursor to be used with the
SQLiteModuleEnumerable class.
It is not sealed and may be
used as the base class for any
user-defined virtual table
cursor class that wraps an
IEnumerator`1 object instance.
Requirements
Namespace: System.Data.SQLite.Generic
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteModuleEnumerable(T) Members | System.Data.SQLite.Generic
Namespace
SQLiteModuleEnumerable(T) overview
See Also
SQLiteModuleEnumerable<T> Class | System.Data.SQLite.Generic
Namespace
SQLiteModuleEnumerable<T>(
string name,
IEnumerable<T> enumerable
);
Parameters
name
The name of the module. This parameter cannot be null.
enumerable
The IEnumerable`1 instance to expose as a virtual table. This
parameter cannot be null.
See Also
SQLiteModuleEnumerable<T> Class | System.Data.SQLite.Generic
Namespace
See Also
SQLiteModuleEnumerable<T> Class | System.Data.SQLite.Generic
Namespace
Parameters
cursor
See the Column method.
context
See the Column method.
index
See the Column method.
Return Value
See the Column method.
Implements
ISQLiteManagedModule.Column
See Also
SQLiteModuleEnumerable<T> Class | System.Data.SQLite.Generic
Namespace
Overload List
Inherited from SQLiteModule.
public void Dispose()
Disposes of this object instance.
protected override void Dispose(bool)
See Also
SQLiteModuleEnumerable<T> Class | System.Data.SQLite.Generic
Namespace
Parameters
disposing
Non-zero if this method is being called from the Dispose method. Zero
if this method is being called from the finalizer.
See Also
SQLiteModuleEnumerable<T> Class | System.Data.SQLite.Generic
Namespace | SQLiteModuleEnumerable<T>.Dispose Overload List
Parameters
table
See the Open method.
cursor
See the Open method.
Return Value
See the Open method.
Implements
ISQLiteManagedModule.Open
See Also
SQLiteModuleEnumerable<T> Class | System.Data.SQLite.Generic
Namespace
Requirements
Namespace: System.Data.SQLite.Generic
Assembly: System.Data.SQLite (in System.Data.SQLite.dll)
See Also
SQLiteVirtualTableCursorEnumerator(T) Members |
System.Data.SQLite.Generic Namespace
SQLiteVirtualTableCursorEnumerator(T) overview
See Also
SQLiteVirtualTableCursorEnumerator<T> Class |
System.Data.SQLite.Generic Namespace
SQLiteVirtualTableCursorEnumerator<T>(
SQLiteVirtualTable table,
IEnumerator<T> enumerator
);
Parameters
table
The SQLiteVirtualTable object instance associated with this object
instance.
enumerator
The IEnumerator`1 instance to expose as a virtual table cursor.
See Also
SQLiteVirtualTableCursorEnumerator<T> Class |
System.Data.SQLite.Generic Namespace
See Also
SQLiteVirtualTableCursorEnumerator<T> Class |
System.Data.SQLite.Generic Namespace
Closes the virtual table cursor. This method must not throw any
exceptions.
See Also
SQLiteVirtualTableCursorEnumerator<T> Class |
System.Data.SQLite.Generic Namespace
Overload List
Inherited from SQLiteVirtualTableCursor.
public void Dispose()
Disposes of this object instance.
protected override void Dispose(bool)
See Also
SQLiteVirtualTableCursorEnumerator<T> Class |
System.Data.SQLite.Generic Namespace
Parameters
disposing
Non-zero if this method is being called from the Dispose method. Zero
if this method is being called from the finalizer.
See Also
SQLiteVirtualTableCursorEnumerator<T> Class |
System.Data.SQLite.Generic Namespace |
SQLiteVirtualTableCursorEnumerator<T>.Dispose Overload List
References: sql-stmt
See also: lang.html
Small. Fast. Reliable.
Choose any three.
Home Menu About Documentation Download
License Support Purchase Search
sql-stmt
References: cte-table-name
See also: lang_with.html
Small. Fast. Reliable.
Choose any three.
Home Menu About Documentation Download
License Support Purchase Search
pragma-stmt
See Also
System.Data.SQLite.Generic Namespace