|
发表于 2010-8-27 22:49:23
|
显示全部楼层
連結資料表方式
註 : AnsiToUtf8() 及 Utf8ToAnsi() 等轉碼函式定義在 LCLProc 單元中, 所以要先 uses LCLProc 這個單元, 否則編譯器會不認得 AnsiToUtf8() 及 Utf8ToAnsi()
[DBF]
procedure TForm1.FormCreate(Sender: TObject);
var My_Path:string;
begin
My_Path:=ExtractFilePath(Application.ExeName); //ExtractFilePath() 取回的是 ANSI, 要改為 UTF8
Dbf1.TableName:=My_Path+'BX_ADAY.DBF'; //TDbf 的 TableName 要餵入 ANSI STRING
Dbf1.Active:=true;
end;
[SQLite]
使用 TSQLite3Connection 控件時還要同時加入 TSQLTransaction 及 TSQLQuery 兩個控件
procedure TForm1.FormCreate(Sender: TObject);
var My_Path:string;
begin
//將 SQLTransaction1 及 SQLQuery1 兩個控件之 Database 指到 SQLite3Connection1
SQLTransaction1.Database:=SQLite3Connection1;
SQLQuery1.Database:=SQLite3Connection1;
My_Path:=ExtractFilePath(Application.ExeName); //ExtractFilePath() 取回的是 ANSI, 要改為 UTF8
My_Path:=ansitoutf8(My_Path); //改為 UTF8
SQLite3Connection1.DatabaseName:=My_Path+'myTest.db'; //指定一個 DATABASE
SQLite3Connection1.Connected:=true;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('select * from demo'); //指定一個 TABLE 名稱
SQLQuery1.Active:=true;
end;
新增資料 (APPEND)
[DBF]
procedure TForm1.Button1Click(Sender: TObject);
begin
Dbf1.Append();
Dbf1.FieldByName('VAD_COMPAN').AsString:='1';
Dbf1.FieldByName('VAD_TENANT').AsString:='中文1';
Dbf1.Post;
Dbf1.Append();
Dbf1.FieldByName('VAD_COMPAN').AsString:='1';
Dbf1.FieldByName('VAD_TENANT').AsString:='中文2';
Dbf1.Post;
Dbf1.Append();
Dbf1.FieldByName('VAD_COMPAN').AsString:='1';
Dbf1.FieldByName('VAD_TENANT').AsString:='中文3';
Dbf1.Post;
Dbf1.Append();
Dbf1.FieldByName('VAD_COMPAN').AsString:='1';
Dbf1.FieldByName('VAD_TENANT').AsString:='中文4';
Dbf1.Post;
Dbf1.Append();
Dbf1.FieldByName('VAD_COMPAN').AsString:='1';
Dbf1.FieldByName('VAD_TENANT').AsString:='中文5';
Dbf1.Post;
end;
[SQLite]
procedure TForm1.Button1Click(Sender: TObject);
begin
//OPEN 中編輯的語法
if not SQLTransaction1.Active then
SQLTransaction1.StartTransaction;
SQLQuery1.Append();
SQLQuery1.FieldByName('uid').AsInteger:=1;
SQLQuery1.FieldByName('uname').AsString:='中文測試';
SQLQuery1.Post;
SQLQuery1.Append();
SQLQuery1.FieldByName('uid').AsInteger:=2;
SQLQuery1.FieldByName('uname').AsString:='中文測試二';
SQLQuery1.Post;
SQLQuery1.ApplyUpdates;
SQLTransaction1.CommitRetaining;
end; |
|