程式碼 專案檔下載:
unit Main;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, SqlExpr, Data.DBXMSSQL, Data.FMTBcd,
Datasnap.Provider, Data.DB, Vcl.StdCtrls, DBClient;
type
TForm1 = class(TForm)
WellsnameConnection: TSQLConnection;
UsernameTable: TSQLDataSet;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
ClientDataSet1: TClientDataSet;
DataSetProvider1: TDataSetProvider;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if ClientDataSet1.RecNo < ClientDataSet1.RecordCount then begin
ClientDataSet1.Next;
Label1.Caption := ClientDataSet1.FieldValues['Name'];
end;
end;
procedure TForm1.Button2Click(Sender : TObject);
begin
if ClientDataSet1.RecNo > 0 then begin
ClientDataSet1.Prior;
Label1.Caption := ClientDataSet1.FieldValues['Name'];
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
ClientDataSet1.Last; Label1.Caption := ClientDataSet1.FieldValues['Name'];
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
ClientDataSet1.First; Label1.Caption := ClientDataSet1.FieldValues['Name'];
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Label1.Caption := ClientDataSet1.Fields[1].Value;
end;
end.
procedure TForm1.Button1Click(Sender:TObject);
begin
if not ClientDataSet1.Active then ClientDataSet1.Open;
ClientDataSet1.First;
while not ClientDataSet1.EOF do
begin
//移至下一筆資料
ClientDataSet1.Next;
end;
end;
insertRecord用來插入一筆資料到表格中:
procedure InsertRecord(const Values: array of const);
程式範例:
ClientDataSet1.InsertRecord([1001, null, 'new']);
procedure TForm1.Button1Click(Sender: TObject);
begin
if not ClientDataSet1.Active then ClientDataSet1.Open;
ClientDataSet1.First;
while not ClientDataSet1.EOF do
begin
try
ClientDataSet1.Edit; //進入編輯模式
try
ClientDataSet1.Fields[0].Value :=
UpperCase(ClientDataSet1.Fields[0].Value);
ClientDataSet1.Post; //將結果送出
except
//修改資料送出發生例外,取消
ClientDataSet1.Cancel;
end;
except
//Record cannot be edited. Skip 資料不能編輯,skip
end;
ClientDataSet1.Next;
end; //while
end;