Version 0.41 Last Revision 2009-01-10
The SqlitePass components project planes to provide a easy and fast access to sqlite databases. The Installation packages will install two components in the IDE :
A Database Component (TSqlitePassDatabase)
A Dataset Component (TSqlitePassDataset)
At the moment, these components partially support reading from / writing to databases created with :
The Kexi project (for Linux and Windows)
The Sqlite Expert (for Windows)
SQLite Administrator (Database manager for Windows)
Sqlite4Fpc (Database component for FPC)
SqliteToolbox (The demo program included with SqlitePass components, for windows and Linux)
or your own custom sqlite database using Database.DataTypeOptions (TSqlitePassDatabaseDataTypeOptions)
This project is open source, released under LGPL license.
Libraries and components are free and currently tested with Delphi 4 & 6 - Lazarus 0.9.26 – FPC 2.2.2
The library will not be considered as "stable" until the 1.0 release. Let me know in you want to use those components with other Delphi versions.
sqlite3_column_database_name
sqlite3_column_database_name16
sqlite3_column_table_name
sqlite3_column_table_name16
sqlite3_column_origin_name
sqlite3_column_origin_name16
sqlite3_table_column_metadata
The compiled win32 (sqlitepass3.dll) and the Linux-i386 (libsqlitepass3.so) versions of this library are included in ..\SQLitePass\SqliteLibrary. A tutorial on how to compile the library is available on the SqlitePass website. This file (sqlite3.dll or sqlite3.so) should be placed in a system directory, ..\Windows\system32 for example.
Uninstall any previous version of SqlitePassDbo components : Choose [Components] [Install Packages] from IDE menu.
Select the SqlitePass package and click Remove.
Compile Runtime package : Choose [File] [Open] from the IDE menu and select ..\SQLitePass\Packages\Delphi4\D4_SqlitePassDbo_Runtime.dpk. Compile this package and move the resulting file from SQLitePass_vX.XX\Packages\Delphi4\D4_SqlitePassDbo_Runtime.bpl to a directory inluded in the Delphi search path (like ..\Delphi4\Bin or ..\Windows\system32 for example). Delete or overwrite any previous D4_SqlitePassDbo_Runtime.bpl.
Compile and install Designtime package : Choose [File] [Open] from the IDE menu and select ..\SQLitePass\Packages\Delphi4\D4_SqlitePassDbo_Designtime.dpk. Compile this package, then choose install.
Check installation : Select SqlitePassDbo on component palette pages and drop a SqlitePassDatabase and a SqlitePassDataset on a new form. Check the components versions are correct in object inspector.
Uninstall any previous version of SqlitePassDbo components : Choose [Components] [Configure Installed Packages] from IDE menu
Select the Laz_SqlitePassDbo_Runtime and Laz_SqlitePassDbo_Designtime packages and click [Uninstall the selection] then [Save and quit the dialog].
Compile Runtime package : Choose [Components] [Open Package file] from IDE menu and select ..\SQLitePass\Packages\Lazarus\Laz_SqlitePassDbo_Runtime.lpk. Compile this package.
Compile and install Designtime package : Choose [File] [Open] from the IDE menu and select ..\SQLitePass\Packages\Lazarus\Laz_SqlitePassDbo_Designtime.lpk. In package dialog, Choose compile then install. This will rebuild the IDE.
Check installation : Select SqlitePassDbo on Component palette pages and drop a SqlitePassDatabase and a SqlitePassDataset on a new form. Check the components versions are correct in object inspector.
The source code is (or will be) self documented and should cover the basic usage of the components.
Place a SqlitePassDatabase component on a form,
Choose Database file the Database property (a database *.kexi file from ..\SQLitePass_x.xx\Demo\Databases for example),
Set Connected property to True,
Place a SqlitePassDataset component on the form
Set Database property to the name of SqlitePassDatabase component (by default this is SqlitePassDatabase1),
Select a dataset from the DatasetName property dialog editor,
Set Active property to True.
Place a standart Delphi or Lazarus DataSource component on the page,
Set DataSet property to the name of the SqlitePassDataset component (by default this is SqlitePassDataset1)
Place any DBAware component like DBGrid, DBNavigator...etc, on the form.
Set DBGrid's, DBNavigator...etc, DataSource property to the name of DataSource component (by default this is DataSource1)
This is it !
/Delphi4
Demo Project files for Delphi 4
/Lazarus
Demo Project files for Lazarus
/Sources
Source files for the demo project.
*.pas files are shared by Delphi and Lazarus projects
*.dfm files are used by Delphi
*.lfm files are used by Lazarus
D4_SqlitePassDbo_Designtime.dpk
Designtime package, used to :
Register and display components in Delphi IDE,
Register property editors in Delphi IDE.
Packages/Delphi6
D6_SqlitePassDbo_Runtime.dpk
Runtime package. Shoul be compiled first (see the installation section)
D6_SqlitePassDbo_Designtime.dpk
Designtime package, used to :
Register and display components in Delphi IDE,
Register property editors in Delphi IDE.
Packages/Delphi7
D7_SqlitePassDbo_Runtime.dpk
Runtime package. Shoul be compiled first (see the installation section)
D7_SqlitePassDbo_Designtime.dpk
Designtime package, used to :
Register and display components in Delphi IDE,
Register property editors in Delphi IDE.
Packages/Packages/Lazarus
Laz_SqlitePassDbo_Runtime.dpk
Runtime package. Shoul be compiled first (see the installation section)
Laz_SqlitePassDbo_Designtime.dpk
Designtime package, used to :
Register and display components in Delphi IDE,
Register property editors in Delphi IDE.
SlitePassDatabase.inc,
SqlitePassDatabaseParts.inc,
SqlitePassDataset..inc,
SqlitePassRecordset.inc,
SqlitePassSelectStmt.inc,
SqlitePassEngine.pas.
SqlitePassDbo.lrs : Lazarus ressource file used to dipslay components icons in IDE. SqlitePassConst.pas : Constant definitions
SqlitePassErrorLang.pas : Ressource strings for language support. To translate this file :
Backup the original file and translate the strings in your own language.
Replace the SqlitePassErrorLang.pas with your own file.
Compile and overwrite any existing runtime package. (see installation section).
Only English file is available so far. A French one will be done shortly. Translators are welcome !
SqlitePassKexiDef.pas : Kexi specific constants definitions SqlitePassUtils.pas : Implements a TObjectList (The code is just a copy from FCL) and other objects, mainly to provide code compatibility between Delphi 4 and Lazarus.
*.pas files are shared by Delphi and Lazarus projects
*.dfm files are used by Delphi
*.lfm and *.lrs files are used by Lazarus
Designtime Editors Files descriptions :
RegisterSqlitePassDbo.pas
Registers and displays components and property editors in IDE.
SqlitePassChooseDatasetDialog.pas
Used by TsqlitePassDataset.Dataset property. Displays an treeview of available dataset in the current database.
SqlitePassIndexesDialog.pas
Used by TsqlitepassDataset.Indexes property. Displays a dialog to manage tables indexes.
SqlitePassCustomFieldDefsDialog.pas
Used by TsqlitePassDatabase.DataTypeOptions.CustomFieldDefs property. Display a dialog to manage custom field definitions
SqlitePassFieldDefsDialog.pas
Used by TsqlitepassDataset.FieldDefsInfo property. Display a dialog showing field definitions of the currently selected dataset.
SqlitePassSortByDialog.pas
Used by TsqlitepassDataset.SortedBy property. Displays a dialog to select fields to be sorted .
SqlitePassDataTypesDialog.pas
Used by TsqlitePassDatabase.DataTypeOptions.TranslationRules property. Display a dialog to manage TranslationRules.
SqlitePassMasterDetailFieldsDialog.pas
Used by TsqlitepassDataset.MasterFields property. Displays a dialog to link Master and Detail fields.
SqlitePassDesignErrorLang.pas
Defines DesignTime error messages.
CreateNewIndex.pas
Used by the indexes dialog when creating new table index.
RenameItem.pas
Used by the indexes dialog when renaming a existing table index.