UniGUI的SQLite数据库(04)

1]放FDConnection1和FDQuery1到界面上

UniGUI的SQLite数据库(04)_第1张图片

 

 

2]在OnFormCreate事件里写

FDQuery1.Connection := FDConnection1;
FDConnection1.LoginPrompt:=false; //取消登录提示框
FDConnection1.Open('DriverID=SQLite;Database=test1.Sqlite3');//test1.Sqlite数据库要与E:\UniGui_Learn\04OnLineIditom\Win32\Debug\Project1.exe位置一致

3]单条数据

FDQuery1.Open('select id,info from atb where id = 11111 ' );
unimemo1.Text:= FDQuery1.fieldbyname('info').asstring; 

UniGUI的SQLite数据库(04)_第2张图片

 

 

4]多条数据

FDQuery1.Open(‘select  id,name,info from atb  where 1=1’);//只读取第一个
unilistbox1.Items.Add( FDQuery1.fieldbyname('name').asstring);
unimemo1.Text:= FDQuery1.fieldbyname('info').asstring; 

FDQuery1.next; //第二个到最后一个
while not FDQuery1.eof do begin
unilistbox1.Items.Add( FDQuery1.fieldbyname('name').asstring);
FDQuery1.next;
end;

UniGUI的SQLite数据库(04)_第3张图片

 ----------------插入数据------

UniGUI的SQLite数据库(04)_第4张图片

 

 

var xzxx:string; maxId:integer;
begin
  FDQuery1.Open('select max(id) as maxId from atb; ');
  maxId:=  FDQuery1.fieldbyname('maxId').AsInteger+1;

    xzxx := stringreplace(uniMemo2.Text, '''', '''''', [rfReplaceAll]); //将 (')-> ('')
    xzxx := stringreplace(xzxx, #13#10, 'Z~z~', [rfReplaceAll]); //将 (^p)-> (Z~z~)
    xzxx := 'insert into atb values('
      + IntToStr(maxId)
      + ',''' + StringReplace(uniedit2.Text, '''', '''''', [rfReplaceAll])
      + ''',''' + xzxx + ''')';

   FDQuery1.ExecSQL(xzxx);

    Caption:=  IntToStr(maxId)+'插入新记录  成功!' ;
end;

//好像 不能有英文的感叹号!

你可能感兴趣的:(UniGUI的SQLite数据库(04))