The SQLitePlus COM DLL is a "wrapper" around the SQLite C library. You use this DLL to access SQLite databases from your
Windows programs. Since it is a COM DLL, it is usable by most common
Windows programming languages (eg. VB, C++, Delphi, .NET, etc.). SQLitePlus
Explorer uses this COM DLL for all of its database
access, so you can see just how powerful it is. It
supports all of the features of SQLite, such as Full Text Search.
Improved Stored Script
facility. Now features "inline text"
output similar to ASP/PHP. Its a really
ideal XML/HTML generator.
Includes built-in import and export
functions. Now you can import CSV/TAB
files in a variety of formats - UTF-8, UTF-16
or any Code Page. This features makes it
super-easy to import just about any CSV file and
immediately begin manipulating it with SQL.
The SQLitePlus COM DLL is not a stand-alone DLL - it also uses a SQLitePlus
version DLL, as explained here. The COM DLL is separated from the
actual SQLite engine DLL for two very important reasons:
- Splitting them into 2 DLLs eliminates the "DLL
Hell" issue and protects your product installation. If it were all in one DLL, another company's
product may use a different SQLitePlus COM DLL
version than yours. This is a huge potential
problem, since the COM DLL is compiled with a
specific version of the SQLite engine. If
another program installs a different version of the
COM DLL, it could break your program, or it may be a
SQLite version with a bug that affects your product
in an adverse way.
- Also so that its possible to compile a
customized SQLite DLL* with no changes to the
SQLitePlus COM DLL. The SQLite C library is extensible via two mechanisms: User-defined Functions and User-defined
(this is how we added the ENCRYPT,
COMPRESS, etc. functions). These must be
written in C and compiled into the DLL. Having it as a separate DLL
makes it possible for us to create customized
versions for you, with your own DLL name so that there is no
chance of version issues. This is a service we
offer to customers who need custom functions added
(at a cost).
Some other products boast that their COM DLL is all
in a single DLL, as if it were a good thing - not split
in 2 like ours. Don't be fooled by this marketing
hype. Its certain to cause you major headaches if
another product that uses that DLL is ever installed on
the same PC. Our system allows you to install the
version DLL to your own application folder (regardless
of where the COM DLL is installed - which should be the
"program files/common files/eztools" folder by the way).
Only in this way can you be guaranteed that your
application will always work no matter what other
The SQLitePlus version DLL is named in this pattern:
where X is the
SQLite version. For example 3.3.17 would be
sqlt3317.dll. You specify the DLL name to use via
the SqliteDb.Init method (see example below). The diagram below depicts the application, SQLitePlus
DLLs and the database.
The SQLitePlus object model is very similar to
ADO (Microsoft ActiveX Data Objects). The main SQLitePlus COM object is SqliteDb. With this object, you issue SQL commands.
If the command is a row-returning query, the results are returned in a Dataset object, which is made up of rows and columns.
This object is very similar to the ADO Recordset object. You access the
Dataset Column objects via the Dataset Columns collection (like ADO Field and Fields).
You use methods on the Dataset to move through the dataset, such as MoveFirst
and MoveNext. Like ADO, using SQLitePlus is very easy.
Here is a Visual Basic sample that demonstrates
opening the sample Northwind database (provided in the setup), issuing a
row-returning SQL query and displaying the results.
Dim db As New
Dim ds As Dataset
Dim col As Column
'specify the SQLite DLL version to use
db.Open App.Path & "\northwind.db", eReadWrite
Set ds = db.Exec("select * from suppliers")
If Not ds.EOD Then
For Each col In ds.Columns
Debug.Print "Column Name: " &
col.Name & " Type: " & col.TypeName
While Not ds.EOD
For Each col In ds.Columns
As you can see, using SQLitePlus in
your programs is very easy. To give you ideas of how you can use and to
get you started with SQLitePlus, please check out these articles on the