我使用C#和OleDb攻击Oracle数据库,我已成功从查询中提取数据,但我无法使用OleDbAdapter.Update()
更新数据库,我的更新代码如下。 (" Adapter"是对用于成功从数据库中提取数据的OleDbAdapter
对象的引用。)
OleDbCommandBuilder builder = new OleDbCommandBuilder(Adapter);
Adapter.UpdateCommand = builder.GetUpdateCommand();
Adapter.UpdateCommand.Prepare();
Adapter.Update(ds);
ds.AcceptChanges();
我目前正在接受#34;命令没有准备好。"上面代码第一行的错误。任何建议,我将非常感激。
(编辑:ds是数据集)
答案 0 :(得分:2)
您的版本无效,因为您查询了存储过程。
如果你想到它:要工作它需要所有信息,如键等。如果在存储过程中连接表并仅选择没有一些重要主键的行子集,该怎么办?
在这些情况下,您可能需要自己编写/获取存储过程或查询并将其提供给适配器。