ADODataset 组件根据 CommandType 属性的设置,可以分为三种工作模式:
1、cmdTable 模式,此时可以将 AdoDataset 当作一个 AdoTable 来使用。
2、cmdStoredProc 模式,会列出所有的存储过程供选择。
3、cmdText 模式,此时相当于 ADOQuery,CommandText属性保存 SQL 。
根据有关资料,并不建议用 adodataset 组件,在 cmdText 模式来执行 Insert、, Delete, Update等 SQL 语法操作,此模式通常使用 Select 语法进行记录集获取。
上面的问题中所列出的代码中,包含有 Insert 语句,建议将 CommandType 属性设置为 cmdTable 模式,再将 CommandText属性选择为 jsj 表(或是在代码中编写),则可以将上面的代码编写转换如下:
with ADODataSet1 do
begin
Insert;
FieldByName('id').Value := edit1.Text;
FieldByName('姓名').Value:=edit2.Text;
FieldByName('年龄').Value:=edit3.Text;
Post;
end;
with adodataset do
begin
Close;
commandtext := ssql;
open;
end