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); //下一条 begin ADOQuery1.Next; ShowData; end;
procedure TForm1.SpeedButton2Click(Sender: TObject); //最后一条 begin ADOQuery1.Last; ShowData; end;
procedure TForm1.Edit6Click(Sender: TObject); //简单判断后激活查询按钮 begin if RzComboBox1.Text<>'请选择查询字段'then begin RzButton1.Enabled:=True; end else exit; end; 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;