Difference between revisions of "TSQLite3Connection"

From Free Pascal wiki
Jump to navigationJump to search
(Created page with "'''TSQLite3Connection''' image:tsqlite3connection.png is the database connection component for use SQLite. The component is found on SQLdb tab of the Component P...")
 
(Use pascal highlighter)
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
'''TSQLite3Connection''' [[image:tsqlite3connection.png]] is the database connection component for use [[SQLite]]. The component is found on [[SQLdb tab]] of the [[Component Palette]].
+
{{TSQLite3Connection}}
 +
{{Infobox databases}}
 +
 
 +
{{Note|Instead of using a TSQLite3Connection a proxy-like [[TSQLConnector]] may be used to create more generic database applications}}'''TSQLite3Connection''' [[image:tsqlite3connection.png]] is the database connection component for use [[SQLite]]. The component is found on [[SQLdb tab]] of the [[Component Palette]].
 +
 
 +
TSQLite3connection is a FCL (not LCL) non visual component meaning that it can be used in (eg) ObjectPascal, console applications as well as Lazarus GUI ones. Unfortunately there are no FCL docs for TSQLite3Connection but its interface is similar to its parent ( [[TSQLConnection]] ). As SQLite is an embedded or non-server
 +
database, its use may not require setting .host, .username nor .password. An example of how its used in an ObjectPascal programme is below, when used in
 +
Lazarus, similar setting can be made using the Object Inspector.
 +
 
 +
<syntaxhighlight lang=pascal>
 +
program BasicDBase;
 +
{$mode objfpc} {$ifdef mswindows}{$apptype console}{$endif}
 +
uses
 +
  sqldb, sqlite3conn;
 +
var
 +
    Connect : TSQLite3Connection;
 +
    Trans : TSQLTransaction;
 +
 
 +
begin
 +
    Connect := TSQLite3Connection.Create(nil);
 +
    Trans := TSQLTransaction.Create(Connect);
 +
    Connect.Transaction := Trans;
 +
    Connect.DatabaseName := 'test_dbase';
 +
    Trans.StartTransaction;  // opens Connect, EInOutError if SQLite not installed
 +
    Connect.ExecuteDirect('create table TBLNAMES (ID integer Primary Key, NAME varchar(40));');
 +
    Trans.Commit;
 +
    Trans.Free;
 +
    Connect.Free;
 +
end.       
 +
</syntaxhighlight>
 +
 
 +
 
 +
The ExecuteDirect() procedure is a fairly limited means to call SQL, in a real ap, you will need something like TSQLQuery. Note also the above demo does not do
 +
any error checking.   
  
 
==See also==
 
==See also==
* [http://www.freepascal.org/docs-html/fcl/sqldb/tsqlite3connection.html TSQLLite3Connection doc]
 
 
* [[TSQLConnector]]
 
* [[TSQLConnector]]
 
* [[SQLite]]
 
* [[SQLite]]
  
 
{{LCL Components}}
 
{{LCL Components}}

Latest revision as of 14:01, 1 March 2020

English (en) español (es) français (fr) 日本語 (ja) polski (pl)

Databases portal

References:

Tutorials/practical articles:

Databases

Advantage - MySQL - MSSQL - Postgres - Interbase - Firebird - Oracle - ODBC - Paradox - SQLite - dBASE - MS Access - Zeos
Light bulb  Note: Instead of using a TSQLite3Connection a proxy-like TSQLConnector may be used to create more generic database applications

TSQLite3Connection tsqlite3connection.png is the database connection component for use SQLite. The component is found on SQLdb tab of the Component Palette.

TSQLite3connection is a FCL (not LCL) non visual component meaning that it can be used in (eg) ObjectPascal, console applications as well as Lazarus GUI ones. Unfortunately there are no FCL docs for TSQLite3Connection but its interface is similar to its parent ( TSQLConnection ). As SQLite is an embedded or non-server database, its use may not require setting .host, .username nor .password. An example of how its used in an ObjectPascal programme is below, when used in Lazarus, similar setting can be made using the Object Inspector.

program BasicDBase;
{$mode objfpc} {$ifdef mswindows}{$apptype console}{$endif}
uses
  sqldb, sqlite3conn;
var
    Connect : TSQLite3Connection;
    Trans : TSQLTransaction;

begin
    Connect := TSQLite3Connection.Create(nil);
    Trans := TSQLTransaction.Create(Connect);
    Connect.Transaction := Trans;
    Connect.DatabaseName := 'test_dbase';
    Trans.StartTransaction;  // opens Connect, EInOutError if SQLite not installed
    Connect.ExecuteDirect('create table TBLNAMES (ID integer Primary Key, NAME varchar(40));');
    Trans.Commit;
    Trans.Free;
    Connect.Free;
end.


The ExecuteDirect() procedure is a fairly limited means to call SQL, in a real ap, you will need something like TSQLQuery. Note also the above demo does not do any error checking.

See also


LCL Components
Component Tab Components
Standard TMainMenu • TPopupMenu • TButton • TLabel • TEdit • TMemo • TToggleBox • TCheckBox • TRadioButton • TListBox • TComboBox • TScrollBar • TGroupBox • TRadioGroup • TCheckGroup • TPanel • TFrame • TActionList
Additional TBitBtn • TSpeedButton • TStaticText • TImage • TShape • TBevel • TPaintBox • TNotebook • TLabeledEdit • TSplitter • TTrayIcon • TControlBar • TFlowPanel • TMaskEdit • TCheckListBox • TScrollBox • TApplicationProperties • TStringGrid • TDrawGrid • TPairSplitter • TColorBox • TColorListBox • TValueListEditor
Common Controls TTrackBar • TProgressBar • TTreeView • TListView • TStatusBar • TToolBar • TCoolBar • TUpDown • TPageControl • TTabControl • THeaderControl • TImageList • TPopupNotifier • TDateTimePicker
Dialogs TOpenDialog • TSaveDialog • TSelectDirectoryDialog • TColorDialog • TFontDialog • TFindDialog • TReplaceDialog • TTaskDialog • TOpenPictureDialog • TSavePictureDialog • TCalendarDialog • TCalculatorDialog • TPrinterSetupDialog • TPrintDialog • TPageSetupDialog
Data Controls TDBNavigator • TDBText • TDBEdit • TDBMemo • TDBImage • TDBListBox • TDBLookupListBox • TDBComboBox • TDBLookupComboBox • TDBCheckBox • TDBRadioGroup • TDBCalendar • TDBGroupBox • TDBGrid • TDBDateTimePicker
Data Access TDataSource • TCSVDataSet • TSdfDataSet • TBufDataset • TFixedFormatDataSet • TDbf • TMemDataset
System TTimer • TIdleTimer • TLazComponentQueue • THTMLHelpDatabase • THTMLBrowserHelpViewer • TAsyncProcess • TProcessUTF8 • TProcess • TSimpleIPCClient • TSimpleIPCServer • TXMLConfig • TEventLog • TServiceManager • TCHMHelpDatabase • TLHelpConnector
Misc TColorButton • TSpinEdit • TFloatSpinEdit • TArrow • TCalendar • TEditButton • TFileNameEdit • TDirectoryEdit • TDateEdit • TTimeEdit • TCalcEdit • TFileListBox • TFilterComboBox • TComboBoxEx • TCheckComboBox • TButtonPanel • TShellTreeView • TShellListView • TXMLPropStorage • TINIPropStorage • TJSONPropStorage • TIDEDialogLayoutStorage • TMRUManager • TStrHolder
LazControls TCheckBoxThemed • TDividerBevel • TExtendedNotebook • TListFilterEdit • TListViewFilterEdit • TLvlGraphControl • TShortPathEdit • TSpinEditEx • TFloatSpinEditEx • TTreeFilterEdit • TExtendedTabControl •
RTTI TTIEdit • TTIComboBox • TTIButton • TTICheckBox • TTILabel • TTIGroupBox • TTIRadioGroup • TTICheckGroup • TTICheckListBox • TTIListBox • TTIMemo • TTICalendar • TTIImage • TTIFloatSpinEdit • TTISpinEdit • TTITrackBar • TTIProgressBar • TTIMaskEdit • TTIColorButton • TMultiPropertyLink • TTIPropertyGrid • TTIGrid
SQLdb TSQLQuery • TSQLTransaction • TSQLScript • TSQLConnector • TMSSQLConnection • TSybaseConnection • TPQConnection • TPQTEventMonitor • TOracleConnection • TODBCConnection • TMySQL40Connection • TMySQL41Connection • TMySQL50Connection • TMySQL51Connection • TMySQL55Connection • TMySQL56Connection • TMySQL57Connection • TSQLite3Connection • TIBConnection • TFBAdmin • TFBEventMonitor • TSQLDBLibraryLoader
Pascal Script TPSScript • TPSScriptDebugger • TPSDllPlugin • TPSImport_Classes • TPSImport_DateUtils • TPSImport_ComObj • TPSImport_DB • TPSImport_Forms • TPSImport_Controls • TPSImport_StdCtrls • TPSCustomPlugin
SynEdit TSynEdit • TSynCompletion • TSynAutoComplete • TSynMacroRecorder • TSynExporterHTML • TSynPluginSyncroEdit • TSynPasSyn • TSynFreePascalSyn • TSynCppSyn • TSynJavaSyn • TSynPerlSyn • TSynHTMLSyn • TSynXMLSyn • TSynLFMSyn • TSynDiffSyn • TSynUNIXShellScriptSyn • TSynCssSyn • TSynPHPSyn • TSynTeXSyn • TSynSQLSyn • TSynPythonSyn • TSynVBSyn • TSynAnySyn • TSynMultiSyn • TSynBatSyn • TSynIniSyn • TSynPoSyn
Chart TChart • TListChartSource • TRandomChartSource • TUserDefinedChartSource • TCalculatedChartSource • TDbChartSource • TChartToolset • TChartAxisTransformations • TChartStyles • TChartLegendPanel • TChartNavScrollBar • TChartNavPanel • TIntervalChartSource • TDateTimeIntervalChartSource • TChartListBox • TChartExtentLink • TChartImageList
IPro TIpFileDataProvider • TIpHtmlDataProvider • TIpHttpDataProvider • TIpHtmlPanel
Virtual Controls TVirtualDrawTree • TVirtualStringTree • TVTHeaderPopupMenu