使用OleDbCommandBuilder的OleDbDataAdapter.Update()

时间:2011-08-31 15:53:39

标签: c# oledb oledbcommand oledbdataadapter

我使用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是数据集)

1 个答案:

答案 0 :(得分:2)

您的版本无效,因为您查询了存储过程。

如果你想到它:要工作它需要所有信息,如键等。如果在存储过程中连接表并仅选择没有一些重要主键的行子集,该怎么办?

在这些情况下,您可能需要自己编写/获取存储过程或查询并将其提供给适配器。