新增
adoquery1.insert;
adoquery1.fieldbyname('yourfield1').asstring := str;
adoquery1.fieldbyname('yourfield2').asinteger := i;
adoquery1.post;
修改
adoquery1.edit;
adoquery1.fieldbyname('yourfield1').asstring := str;
adoquery1.fieldbyname('yourfield2').asinteger := i;
adoquery1.post;
删除
adoquery1.delete;
adoquery1.insert;
adoquery1.fieldbyname('yourfield1').asstring := str;
adoquery1.fieldbyname('yourfield2').asinteger := i;
adoquery1.post;
修改
adoquery1.edit;
adoquery1.fieldbyname('yourfield1').asstring := str;
adoquery1.fieldbyname('yourfield2').asinteger := i;
adoquery1.post;
删除
adoquery1.delete;
procedure TForm2.btnCancleClick(Sender: TObject);
begin
Close;
end;procedure TForm2.FormCreate(Sender: TObject);
begin
ADODataSet1.Append;
end;procedure TForm2.btnAddClick(Sender: TObject);
begin
ADODataSet1.Post;
ADODataSet1.Append;
end;如何实现
2、输入ID(自增型)删除一条记录
比如在新增按键的click事件中加上
adoquery1.post;
adoquery1.fieldbyname('yourfield1').asstring := str;
adoquery1.fieldbyname('yourfield2').asinteger := i;
adoquery1.post;
if adodataset1.Locate('字段名', '要查找的id号', []) then
adodateset1.delete;
adoquery1.fieldbyname('yourfield2').asinteger := i;
这样的语句,
用几个DBEdit组件与ADODataSet1绑定,修改后,直接POST就实现修改了,这样有什么缺点吗?
我认为(个人看法,不对请指正)当你append或者edit执行后,在没有post前,数据库就一直处于编辑状态,直到用户点了更新数据库才恢复到浏览状态,所以编辑状态的时间非常之长(因为要等待用户输入数据),如果在这一段时间内其他用户对数据库进行修改就有可能会出错(这一点我不能验证,没有网络环境)以上是小弟拙见,没有试过,呵呵,我也是菜鸟一只
不过我yi开始学就是用ado 那位高手能教在下table里面的catchedupdates 属性是怎么用呢?ado:
新增:
//假如另一条纪录在新增或编辑状态时,数据库会自动保存的;
adotable1.append;
保存:if not adotable1.isempty then
//注意:不能非空保存;而且不可以在非编辑或新增状态时保存
begin
adotable1.edit;
adotable1.post;
end;
删除:if not adotable1.isempty then //删除当前纪录 非空时才可删除
adotable1.delete;
放弃:adotable1.cancel;
编辑: adotable1.edit; //不过只要你对数据库修改 他自动把状态变成编辑(或新增)状态