modtestu.pas

来自「DELPHI 访问SQLITE3 数据库的VCL控件」· PAS 代码 · 共 91 行

PAS
91
字号
// basic unit test
// originator Sean Cross
//
unit ModTestU;

interface

uses
  SysUtils, Classes, ASGSQLite3, DB;

type
  TmodTest = class(TDataModule)
    DbTest: TASQLite3DB;
    InlineCreateTables: TASQLite3InlineSQL;
    InlineCreateData: TASQLite3InlineSQL;
    sqlTemp: TASQLite3Query;
    tblTemp: TASQLite3Table;
    tblCalc_: TASQLite3Table;
    tblCalc_FPKey: TIntegerField;
    tblCalc_FInt: TIntegerField;
    tblCalc_CalcInt: TIntegerField;
    tblCalc_CalcString: TStringField;
    tblCalc_FText: TStringField;
    tblMaster: TASQLite3Table;
    TBLDetail: TASQLite3Table;
    DSMaster: TDataSource;
    tblOutOfOrder_: TASQLite3Table;
    tblOutOfOrder_FPKey: TIntegerField;
    tblOutOfOrder_FBlob: TMemoField;
    sqlOutOfOrder_: TASQLite3Query;
    sqlOutOfOrder_FPKey: TIntegerField;
    sqlOutOfOrder_FBlob: TMemoField;
    procedure tblCalc_CalcFields(DataSet: TDataSet);
  private
    { Private declarations }
  public
    procedure CreateDatabase;
    function  GetIntegerFromSql(ASql: string): integer;
    procedure OpenSql(ASql: string);
    procedure OpenTable(ATableName: string);
  end;

//var
//  modTest: TmodTest;

implementation

{$R *.dfm}

{ TDataModule1 }

procedure TmodTest.CreateDatabase;
begin
  if DbTest.Connected then
    DbTest.Close;

  DbTest.Open;
  DbTest.SQLite3_ExecSQL(InlineCreateData.SQL.Text);
end;


function TmodTest.GetIntegerFromSql(ASql: string): integer;
begin
  OpenSql(ASql);

  result:= sqlTemp.Fields[0].AsInteger;
  sqlTemp.Close;
end;

procedure TmodTest.OpenSql(ASql: string);
begin
  sqlTemp.Close;
  sqlTemp.SQL.Text:= ASql;
  sqlTemp.Open;
end;

procedure TmodTest.OpenTable(ATableName: string);
begin
  tblTemp.Close;
  tblTemp.TableName:= ATableName;
  tblTemp.Open;
end;

procedure TmodTest.tblCalc_CalcFields(DataSet: TDataSet);
begin
  tblCalc_CalcInt.AsInteger:= tblCalc_FInt.AsInteger + 10;
  tblCalc_CalcString.AsString:= 'Calc' + tblCalc_FInt.AsString;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?