📄 updatebatch.pas
字号:
unit UpdateBatch;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
GroupBox1: TGroupBox;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure ADODataSet1AfterOpen(DataSet: TDataSet);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
CurDir:String;
begin
GetDir(0,CurDir); //获得当前路径
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+Curdir+'\DB\dbdemos.mdb;Persist Security Info=False';
//建立连接字符串
ADOConnection1.Connected:=True;//打开连接
ADODataSet1.CommandType:=cmdTable;//设置命令类型
ADODataSet1.CommandText:='employee';
ADODataset1.CursorType:=ctStatic;//设置游标类型
ADODataset1.LockType:=ltBatchOptimistic; //设置以批处理更新方式打开数据集
ADODataSet1.Open;
end;
procedure TForm1.ADODataSet1AfterOpen(DataSet: TDataSet);
begin
edit1.Text:=ADODataset1.Fields[0].AsString;
edit2.Text:=ADODataset1.Fields[1].AsString;
edit3.Text:=ADODataset1.Fields[2].AsString;
edit4.Text:=ADODataset1.Fields[3].AsString;
edit5.Text:=ADODataset1.Fields[4].AsString;
edit6.Text:=ADODataset1.Fields[5].AsString;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
//编辑记录
ADODataset1.Edit;
ADODataset1.FieldByName('LastName').AsString:=edit2.Text;
ADODataset1.FieldByName('FirstName').AsString:=edit3.Text;
ADODataset1.FieldByName('PhoneExt').AsString:=edit4.Text;
ADODataset1.FieldByName('HireDate').AsDateTime:=StrToDateTime(edit5.Text);
ADODataset1.FieldByName('Salary').AsFloat:=StrToFloat(edit6.Text);
ADODataset1.Post;
showmessage('更新成功!');
Button3.Enabled:=true;
Button4.Enabled:=true;
Button2.Enabled:=False;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
ADODataset1.UpdateBatch;//提交批处理
showmessage('提交成功!');
Button4.Enabled:=False;
Button3.Enabled:=False;
Button1.Enabled:=true;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
ADODataset1.CancelUpdates;//撤销批处理
ADODataset1.Close;
ADODataset1.Open;
Button4.Enabled:=False;
Button3.Enabled:=False;
Button1.Enabled:=true;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
ADODataset1.Close;
ADOConnection1.Close;
Application.Terminate;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit2.Enabled:=true;
edit3.Enabled:=true;
edit4.Enabled:=true;
edit5.Enabled:=true;
edit6.Enabled:=true;
Button2.Enabled:=true;
Button1.Enabled:=False;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -