📄 samplemain.pas
字号:
unit SampleMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ASGSQLite3, StdCtrls, Buttons, ExtCtrls, ToolWin, ComCtrls, DB,
Grids, DBGrids, DBCtrls, Mask, ExtDlgs, Provider, DBClient;
type
TFMain = class(TForm)
DB: TASQLite3DB;
ASQLite3InlineSQL1: TASQLite3InlineSQL;
Panel1: TPanel;
BitBtn1: TBitBtn;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
ToolBar1: TToolBar;
Panel2: TPanel;
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
TSimpleTable: TASQLite3Table;
ToolButton1: TToolButton;
DBEdit1: TDBEdit;
DSSimpleTable: TDataSource;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
CBNumber: TCheckBox;
TabSheet2: TTabSheet;
ToolBar2: TToolBar;
ToolButton2: TToolButton;
DBNavigator2: TDBNavigator;
Panel3: TPanel;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBGrid2: TDBGrid;
QSimple: TASQLite3Query;
USimple: TASQLite3UpdateSQL;
DSQSimple: TDataSource;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
ToolBar3: TToolBar;
Panel4: TPanel;
DBGrid3: TDBGrid;
ToolBar4: TToolBar;
Panel5: TPanel;
DBNavigator3: TDBNavigator;
DBNavigator4: TDBNavigator;
DBGrid4: TDBGrid;
TParent: TASQLite3Table;
DSParent: TDataSource;
ToolButton3: TToolButton;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
TChild: TASQLite3Table;
DSChild: TDataSource;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
Label10: TLabel;
Label11: TLabel;
RO: TCheckBox;
OPD: TOpenPictureDialog;
Panel6: TPanel;
ToolBar5: TToolBar;
Edit1: TEdit;
SpeedButton1: TSpeedButton;
ScrollBox1: TScrollBox;
DBI: TDBImage;
DSBlob: TDataSource;
TBlob: TASQLite3Table;
ToolButton4: TToolButton;
QBlob: TASQLite3Query;
BitBtn2: TBitBtn;
DBNavigator5: TDBNavigator;
Label12: TLabel;
TabSheet6: TTabSheet;
ToolBar6: TToolBar;
ToolButton5: TToolButton;
DBNavigator6: TDBNavigator;
Panel7: TPanel;
Label13: TLabel;
DBEdit12: TDBEdit;
DBGrid5: TDBGrid;
Label14: TLabel;
DBMemo1: TDBMemo;
TLongText: TASQLite3Table;
DSLongtext: TDataSource;
Label15: TLabel;
Label16: TLabel;
DBGrid6: TDBGrid;
QProvider: TASQLite3Query;
ClientDataSet: TClientDataSet;
DataSetProvider: TDataSetProvider;
DSProvider: TDataSource;
ToolBar7: TToolBar;
ToolButton6: TToolButton;
DBNavigator7: TDBNavigator;
Button1: TButton;
Panel8: TPanel;
Label17: TLabel;
Records: TLabel;
QLongText: TASQLite3Query;
SpeedButton2: TSpeedButton;
Edit2: TEdit;
TabSheet7: TTabSheet;
Panel9: TPanel;
QComplex: TASQLite3Query;
DSComplex: TDataSource;
DBGrid7: TDBGrid;
BitBtn3: TBitBtn;
TabSheet8: TTabSheet;
Edit3: TEdit;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
LB: TListBox;
BitBtn7: TBitBtn;
LBF: TListBox;
procedure BitBtn1Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure CBNumberClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ROClick(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FMain: TFMain;
implementation
{$R *.dfm}
procedure TFMain.BitBtn1Click(Sender: TObject);
var
ss : string;
begin
//exit;
DB.Close;
if messagebox(handle, '删除旧的?', nil, mb_yesno+MB_DEFBUTTON2) = mryes then DeleteFile('sampleDB');
caption := db.Version;
DB.ExecuteInlineSQL := true;
ss := 'fuck you';
if not inputquery('密码:', '', ss) then exit;
db.Databases := ss;
DB.Open;
end;
procedure TFMain.ToolButton1Click(Sender: TObject);
begin
TSimpleTable.Open;
end;
procedure TFMain.CBNumberClick(Sender: TObject);
begin
if CBNumber.Checked then
TSimpleTable.PrimaryAutoInc := true
else
TSimpleTable.PrimaryAutoInc := false;
end;
procedure TFMain.ToolButton2Click(Sender: TObject);
begin
QSimple.Open;
end;
procedure TFMain.ToolButton3Click(Sender: TObject);
begin
TParent.Open;
TParent.PrimaryAutoInc := true;
TChild.Open;
end;
procedure TFMain.ROClick(Sender: TObject);
begin
if RO.Checked then
TChild.ReadOnly := true
else
TChild.ReadOnly := true;
end;
procedure TFMain.ToolButton4Click(Sender: TObject);
begin
TBlob.Open;
end;
procedure TFMain.SpeedButton1Click(Sender: TObject);
var
ss : string;
begin
ss := 'fuck you';
if not inputquery('重设密码:', '', ss) then exit;
DB.Databases := ss;
exit;
if OPD.Execute then begin
Edit1.Text := OPD.FileName;
DBI.Picture.LoadFromFile(Edit1.Text);
end;
end;
procedure TFMain.BitBtn2Click(Sender: TObject);
var var_Stream : TMemoryStream;
begin
var_Stream := TMemoryStream.Create;
var_Stream.LoadFromFile(Edit1.Text);
QBlob.Close();
QBlob.SQL.Clear();
QBlob.SQL.Add('INSERT INTO IMG VALUES(:v)');
QBlob.Params.Items[0].LoadFromStream(var_Stream, ftBlob);
QBlob.ExecSQL();
QBlob.Close();
Var_Stream.Free;
TBlob.Close;
TBlob.Open;
end;
procedure TFMain.ToolButton5Click(Sender: TObject);
begin
TLongText.Open;
end;
procedure TFMain.ToolButton6Click(Sender: TObject);
begin
ClientDataSet.Open;
Records.Caption := IntToStr(ClientDataSet.RecordCount);
end;
procedure TFMain.Button1Click(Sender: TObject);
begin
ClientDataSet.ApplyUpdates(0);
end;
procedure TFMain.SpeedButton2Click(Sender: TObject);
begin
QLongText.Close;
QLongText.SQL.Clear;
QLongText.SQL.Add('select * from LT where objectnr = :o');
QLongText.Params[0].AsInteger := TLongText.FieldByName('objectnr').AsInteger;
QLongText.Open;
Edit2.Text := QLongText.FieldByName('sometext').AsString;
end;
procedure TFMain.BitBtn3Click(Sender: TObject);
begin
QComplex.open;
end;
procedure TFMain.BitBtn4Click(Sender: TObject);
begin
Edit3.Text := IntToStr(DB.GetUserVersion);
end;
procedure TFMain.BitBtn5Click(Sender: TObject);
begin
DB.SetUserVersion(StrToInt(Edit3.Text));
end;
procedure TFMain.BitBtn6Click(Sender: TObject);
begin
DB.GetTableNames(LB.Items, true);
end;
procedure TFMain.BitBtn7Click(Sender: TObject);
var MyList : TList;
MyField : TASQLite3Field;
i : integer;
s : string;
begin
if LB.ItemIndex < 0 then
ShowMessage('Please select table')
else begin
MyList := TList.Create;
DB.GetTableInfo(LB.Items[LB.ItemIndex], MyList);
LBF.Items.Clear;
for i := 0 to MyList.Count - 1 do begin
with TASQLite3Field(MyList[i]) do begin
if FieldNN=1 then s:= 'NN ' else s := '-- ';
if FieldPK=1 then s:= s+'PK ' else s := s+'--';
LBF.Items.Add(FieldName+' '+FieldType+' ['+s+']');
end;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -