⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 samplemain.pas

📁 连接sqlite数据库控件
💻 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 + -