当前位置:文档之家› Delphi用ADO操作数据库完整示例

Delphi用ADO操作数据库完整示例

Delphi用ADO操作数据库完整示例
Delphi用ADO操作数据库完整示例

Delphi用ADO操作数据库完整示例(转)

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, RzDBGrid, ExtCtrls, RzPanel,ComCtrls, RzBckgnd, RzButton, Buttons, RzCmboBx;

type

TForm1 = class(TForm)

DataSource1: TDataSource;

ADOQuery1: TADOQuery;

Label1: TLabel;

RzGroupBox1: TRzGroupBox;

RzDBGrid1: TRzDBGrid;

RzGroupBox2: TRzGroupBox;

Label2: TLabel;

Edit1: TEdit;

Label3: TLabel;

Edit2: TEdit;

Label4: TLabel;

Edit3: TEdit;

Label5: TLabel;

Edit4: TEdit;

Label6: TLabel;

Edit5: TEdit;

RzSeparator1: TRzSeparator; StatusBar1: TStatusBar; SpeedButton1: TSpeedButton; SpeedButton3: TSpeedButton; SpeedButton4: TSpeedButton; SpeedButton2: TSpeedButton; SpeedButton5: TSpeedButton; SpeedButton6: TSpeedButton; SpeedButton7: TSpeedButton; RzGroupBox3: TRzGroupBox; RzComboBox1: TRzComboBox; Edit6: TEdit;

RzButton1: TRzButton;

Label7: TLabel;

Timer1: TTimer;

procedure FormCreate(Sender: TObject);

procedure SpeedButton1Click(Sender:

TObject);

procedure SpeedButton3Click(Sender:

TObject);

procedure SpeedButton4Click(Sender:

TObject);

procedure SpeedButton2Click(Sender:

TObject);

procedure ShowData; //记得在此位置加入自定义过程的申明procedure Edit6Click(Sender:

TObject);

procedure RzButton1Click(Sender:

TObject);

procedure RzComboBox1Click(Sender:

TObject);

procedure SpeedButton5Click(Sender:

TObject);

procedure SpeedButton6Click(Sender:

TObject);

procedure SpeedButton7Click(Sender:

TObject);

procedure Timer1Timer(Sender:

TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ShowData; //自定义过程如果用DBEdit控件绑定字段就不用这样,

begin

Edit1.Text:

=ADOQuery1.Fields[0].Value;

Edit2.Text:

=ADOQuery1.Fields[1].Value;

Edit3.Text:

=ADOQuery1.Fields[5].Value;

edit4.Text:

=ADOQuery1.Fields[3].Value;

edit5.Text:

=ADOQuery1.Fields[4].Value;

end;

procedure TForm1.FormCreate(Sender:

TObject);

var

sqlstr:

string;

begin

sqlstr:

='select * from abc'; //数据库连接字符串,打开数据库表,初始化查询

with ADOQuery1 do

begin

ConnectionString:

='Provider=Microsoft.Jet.OLEDB.4.0;Data

Source='+ExtractFilepath(Application.ExeName)+

'a.MDB;Persist Security Info=True';

SQL.Clear;

SQL.Add(sqlstr);

Open;

end;

ShowData;

StatusBar1.Panels.Items[1].Text:

='当前数据库中共有

'+''+IntToStr(Form1.ADOQuery1.Recordcount)+''+'条记录'; StatusBar1.Panels.Items[0].Text:

='准备就绪!';

end;

procedure TForm1.SpeedButton1Click(Sender: TObject); //

begin

ADOQuery1.First;

ShowData;

end;

procedure TForm1.SpeedButton3Click(Sender: TObject); //

begin

ADOQuery1.Prior;

ShowData;

end;

procedure TForm1.SpeedButton4Click(Sender: TObject); //

ADOQuery1.Next;

ShowData;

end;

procedure TForm1.SpeedButton2Click(Sender: TObject); //

begin

https://www.doczj.com/doc/7311467215.html,st;第一条上一条

下一条

最后一条ShowData;

end;

procedure TForm1.Edit6Click(Sender:

TObject); //简单判断后激活查询按钮begin

if RzComboBox1.Text<>'请选择查询字段'then

begin

RzButton1.Enabled:

=True;

end

else

exit;

procedure TForm1.RzButton1Click(Sender:

TObject); //查询按钮处理过程var

s:

string;

begin

if (RzComboBox1.Text='根据工号查询')and (Edit6.Text<>'') then

begin

s:

='Select * from abc where sCardID like''%'+Edit6.Text+'%''';end;

if (RzComboBox1.Text='根据姓名查询')and (Edit6.Text<>'') then

begin

s:

='Select * from abc where sName like''%'+Edit6.Text+'%''';

end;

if (RzComboBox1.Text='根据身份证号码查询')and (Edit6.Text<>'') then begin

s:

='Select * from abc where sID like''%'+Edit6.Text+'%''';

end;

if (RzComboBox1.Text='根据地址查询')and (Edit6.Text<>'') then

begin

s:

='Select * from abc where sAddress like''%'+Edit6.Text+'%''';//showmessage (s);

end;

with ADOQuery1 do

begin

try //此处加入错误捕获处理机制

SQL.Clear;

SQL.Add(s);

open;

except

MessageBox(Handle,'您选择的查询字段跟输入的值不匹配,请检查后重新输入!'+#13+'"例如您选择了根据身份证号码查询就只能在文本框中输入数字,而不能输入字符串"'

,'警告信息',MB_ICONEXCLAMATION);

end;

ShowData;

StatusBar1.Panels.Items[1].Text:

='此次查询共有

'+''+IntToStr(Form1.ADOQuery1.Recordcount)+''+'条符合条件的记录';

end;

end;

procedure TForm1.RzComboBox1Click(Sender:

TObject);

begin

Edit6.Text:

='';

end;

procedure TForm1.SpeedButton5Click(Sender: TObject); //添加空行begin

with ADOQuery1 do

begin

Append;

end;

end;

procedure TForm1.SpeedButton6Click(Sender: TObject); //

begin

with ADOQuery1 do

begin

edit;

post;

end;

end;

procedure TForm1.SpeedButton7Click(Sender: TObject); //

begin

ADOQuery1.Delete;

end;

procedure TForm1.Timer1Timer(Sender: TObject); //

begin

StatusBar1.Panels.Items[3].Text:

=DateTimeToStr(Now);

end;

end.保存所有记录,删除记录

状态栏显示时间

相关主题
文本预览
相关文档 最新文档