Delphi ADO组件中的 ADOTable、ADOQurey 无SQL语句实现增、删、改、查

准备:

数据库是Acess数据库

1.放一个 Adoconnection1到 表单上,设置好数据连接字符串 并 设置 connected 属性 为 true

2 设置 adoquery1的connection 属性为 adoconnection1

3 设置 adoquery1的 sql 属性为 select * from 表名

4 设置 adoquery1的 active =true

5 设置 datasource1的dataset 属性为 adoquery1

6.再放一个 DBNavigator1 设置 datasource=datasource1

7.设置 dbgrid1的 datasource=datasource1

一、ADOTable对数据表的操作

增加、修改与删除:(以线路管理为例)

1、增加:

procedure TForm7.Button1Click(Sender: TObject);

begin

ADOTable1.TableName:='线路管理';

ADOTable1.Close;

ADOTable1.Open;

adotable1.Edit;

adotable1.Insert;

adotable1.Fields[1].AsString:=edit1.Text;

adotable1.Fields[2].AsString:=edit2.Text;

adotable1.Fields[3].AsString:=edit3.Text;

adotable1.Post;

end;

2、修改:

procedure TForm7.Button2Click(Sender: TObject);

begin

adotable1.Edit;

adotable1.FieldByName('线路编号').AsString:=trim(edit1.Text);

adotable1.FieldByName('线路名称').AsString:=trim(edit2.Text);

adotable1.FieldByName('备注').AsString:=trim(edit3.Text);

end;

3、删除:

procedure TForm7.Button3Click(Sender: TObject);

begin

if Application.MessageBox('确实要删除当前数据吗?','提示',mb_YesNo)=ID_Yes then

begin

try

ADOTable1.Delete;

Application.MessageBox('删除成功','提示',64);

except

Application.MessageBox('系统出错','提示',64);

end;

end;

end;

二、adoquery对数据库的增加,查询,编辑,删除:

1、增加:

procedure TForm8.Button1Click(Sender: TObject);

begin

ADOQuery1.Close;

ADOQuery1.Open;

ADOQuery1.Edit;

ADOQuery1.Insert;

ADOQuery1.Fields[0].AsString:=edit1.Text;

ADOQuery1.Fields[1].AsString:=edit2.Text;

ADOQuery1.Fields[2].AsString:=edit3.Text;

ADOQuery1.Fields[3].AsString:=edit3.Text;

ADOQuery1.Fields[4].AsString:=edit3.Text;

ADOQuery1.Fields[5].AsString:=edit3.Text;

ADOQuery1.Fields[6].AsString:=edit3.Text;

ADOQuery1.Post;

end;

2、查询:

procedure TForm8.Button2Click(Sender: TObject);

begin

with ADOQuery1 do

begin

close;

sql.clear;

sql.add('select * from 班次管理 where 班次编号='''+edit1.text+'''or 班次名称='''+edit2.text+''' or 开始时间='''+edit3.text+''' or 结束时间='''+edit4.text+''' or 零点之前数据流向='''+edit5.text+''' or 零点之后数据流向='''+edit6.text+''' or 备注='''+edit7.text+''''); //书写SQL语句时的格式很重要

open;

if dbgrid1.DataSource.DataSet.IsEmpty then //判断查询结果是否为空

begin

showmessage('输入错误!');

adoquery1.Close;

adoquery1.SQL.Clear;

adoquery1.sql.Add('select * from 班次管理');

adoquery1.Open;

end;

end;

end;

3、更改:

procedure TForm8.Button3Click(Sender: TObject);

begin

adoquery1.Edit;

adoquery1.FieldByName('班次名称').AsString:=trim(edit2.Text);

adoquery1.FieldByName('开始时间').AsString:=trim(edit3.Text);

adoquery1.FieldByName('结束时间').AsString:=trim(edit4.Text);

adoquery1.FieldByName('零点之前数据流向').AsString:=trim(edit5.Text);

adoquery1.FieldByName('零点之后数据流向').AsString:=trim(edit6.Text);

adoquery1.FieldByName('备注').AsString:=trim(edit7.Text);

adoquery1.Append;

end;

4、删除:

procedure TForm8.Button4Click(Sender: TObject);

begin

if Application.MessageBox('确实要删除当前数据吗?','提示',mb_YesNo)=ID_Yes then

begin

try

adoquery1.Delete;

Application.MessageBox('删除成功','提示',64);

except

Application.MessageBox('系统出错','提示',64);

end;

adoquery1.SQL.Clear; //刷新DBGRID 中显示的内容

adoquery1.SQL.Add('select * from 班次管理');

adoquery1.Open;

end;

end;

5、显示全部:

procedure TForm8.Button5Click(Sender: TObject);

begin

with ADOQuery1 do

begin

close;

sql.clear;

sql.add('select * from 班次管理');

open;

end;

end;