mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-09 19:48:07 +02:00
93 lines
2.1 KiB
ObjectPascal
93 lines
2.1 KiB
ObjectPascal
unit sqliteform;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, db, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
|
|
DbCtrls
|
|
{$ifdef CPUARM}
|
|
,sqlitejniandroid
|
|
{$else}
|
|
,sqlite3ds
|
|
{$endif}
|
|
;
|
|
|
|
type
|
|
|
|
{ TformSqlite }
|
|
|
|
TformSqlite = class(TForm)
|
|
btnConnect: TButton;
|
|
btnSaveDB: TButton;
|
|
btnCreateDB: TButton;
|
|
Edit1: TEdit;
|
|
SqliteDatasource: TDatasource;
|
|
DBEdit1: TDBEdit;
|
|
DBNavigator1: TDBNavigator;
|
|
procedure btnCreateDBClick(Sender: TObject);
|
|
procedure btnConnectClick(Sender: TObject);
|
|
procedure btnSaveDBClick(Sender: TObject);
|
|
private
|
|
{ private declarations }
|
|
public
|
|
{ public declarations }
|
|
sqlitedb: {$ifdef CPUARM}TSqliteJNIDataset;{$else}TSqlite3Dataset;{$endif}
|
|
end;
|
|
|
|
var
|
|
formSqlite: TformSqlite;
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
{ TformSqlite }
|
|
|
|
procedure TformSqlite.btnConnectClick(Sender: TObject);
|
|
begin
|
|
{$ifdef CPUARM}
|
|
sqlitedb := TSqliteJNIDataset.Create(Self);
|
|
sqlitedb.FileName := '/sdcard/database.db';
|
|
{$else}
|
|
sqlitedb := TSqlite3Dataset.Create(Self);
|
|
sqlitedb.FileName := 'database.db';
|
|
{$endif}
|
|
sqlitedb.TableName := 'TestTable';
|
|
sqlitedb.FieldDefs.Add('FirstFieldStr', ftString);
|
|
sqlitedb.FieldDefs.Add('SecondFieldInt', ftInteger);
|
|
sqlitedb.SaveOnClose := True;
|
|
sqlitedb.Open();
|
|
SqliteDatasource.DataSet := sqlitedb;
|
|
end;
|
|
|
|
procedure TformSqlite.btnSaveDBClick(Sender: TObject);
|
|
begin
|
|
if sqlitedb = nil then Exit;
|
|
sqlitedb.Close();
|
|
sqlitedb.Open();
|
|
end;
|
|
|
|
procedure TformSqlite.btnCreateDBClick(Sender: TObject);
|
|
var
|
|
lsqlitedb: {$ifdef CPUARM}TSqliteJNIDataset;{$else}TSqlite3Dataset;{$endif}
|
|
begin
|
|
{$ifdef CPUARM}
|
|
lsqlitedb := TSqliteJNIDataset.Create(Self);
|
|
lsqlitedb.FileName := '/sdcard/database.db';
|
|
{$else}
|
|
lsqlitedb := TSqlite3Dataset.Create(Self);
|
|
lsqlitedb.FileName := 'database.db';
|
|
{$endif}
|
|
//SqliteDatasource.DataSet := sqlitedb;
|
|
lsqlitedb.TableName := 'TestTable';
|
|
lsqlitedb.FieldDefs.Add('FirstFieldStr', ftString);
|
|
lsqlitedb.FieldDefs.Add('SecondFieldInt', ftInteger);
|
|
lsqlitedb.CreateTable();
|
|
lsqlitedb.Free;
|
|
end;
|
|
|
|
end.
|
|
|