我用ADODataSet来连接一个表,使用commandtext的属性在表中insert一条纪录。但是程序执行结果出错我的程序
ADODataSet1.Active:=false;
ADODataSet1.CommandText:='INSERT INTO table1 (name) VALUES('''test''');'
ADODataSet1.Active:=true;//这句出错了弹出的异常有两个:
1.我的应用程序出错,“current provider does not support returning multiple recordsets from a single execution”,好像是我的connectionstring中的provider有问题。我的connectionstring是'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'test.mdb;Persist Security Info=False';
2.是EDatabaseError异常,“Command Text does not return a result set”!为什么会出错呢?应该怎样改?
谢谢
ADODataSet1.Active:=false;
ADODataSet1.CommandText:='INSERT INTO table1 (name) VALUES('''test''');'
ADODataSet1.Active:=true;//这句出错了弹出的异常有两个:
1.我的应用程序出错,“current provider does not support returning multiple recordsets from a single execution”,好像是我的connectionstring中的provider有问题。我的connectionstring是'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'test.mdb;Persist Security Info=False';
2.是EDatabaseError异常,“Command Text does not return a result set”!为什么会出错呢?应该怎样改?
谢谢
改成:
ADODataSet1.CommandText:='INSERT INTO table1 (name) VALUES(''test'')';
parambyname('a1').value:='test';
...........
不是adodataset1.active:=true;
ADODataSet 不支持在 CommandText 中写 insert、update、delete 。
ADODataSet1.CommandText:='INSERT INTO table1 (name) VALUES(''test'')';
ADODataSet1.Active:=true;//这句出错了
ADODataSet1.CommandText:='INSERT INTO table1 ([name]) VALUES(''test'')';
ADODataSet1.Active:=true;//这句出错了