我都不用adoDataSet的,用adoquery嘛。把ADOQuery1的Connection设置为ADOConnection1,把DataSource1的DataSet设置为ADOQuery1。 with ADOQuery1 do begin Active := False; sql.Clear; sql.Add('一个select语句'); Open; //这里可以把查到的数据用变量存起来 end; with ADOQuery1 do begin Active := False; sql.Clear; sql.Add('一个insert或update或delete语句'); Execsql; end;
insert,delete,update不要用open
用execsql。
尽量避免这种对数据库的操作方法,还是应该用专门的adoquery负责数据的插入、删除、修改操作
插入操作你应该这样用adoDataSet2.close;
adoDataSet2.commandtext := ' select top 0 * from 运动员表 ';
adoDataSet2.open;
adoDataSet2.insert;
adoDataSet2.FieldByName('姓名').AsString := bianhao;
adoDataset2.FieldByName('编号').Asstring := name;
adoDataset2.post;TAdoDataset控件用于执行数据集操作,通常不用于执行更新、删除并且无返回数据集结果的SQL语句;
我在看看adoquery
delphi烦的地方 在断点下看不到各个属性传递的值
一点比不上my eclipse 气啊
begin
Active := False;
sql.Clear;
sql.Add('一个select语句');
Open;
//这里可以把查到的数据用变量存起来
end; with ADOQuery1 do
begin
Active := False;
sql.Clear;
sql.Add('一个insert或update或delete语句');
Execsql;
end;
后面的那个ADODataSet2去掉试试!