2

我正在使用 C# 和 OleDb 访问 Oracle 数据库,我已成功从查询中提取数据,但我无法使用更新数据库OleDbAdapter.Update(),我的更新代码如下。(“适配器”是对OleDbAdapter用于成功从数据库中提取数据的对象的引用。)

OleDbCommandBuilder builder = new OleDbCommandBuilder(Adapter);
Adapter.UpdateCommand = builder.GetUpdateCommand();
Adapter.UpdateCommand.Prepare();
Adapter.Update(ds);
ds.AcceptChanges();

我目前收到“未准备好命令”。上述代码第一行的错误。任何建议,我将不胜感激。

(编辑: ds 是数据集)

4

1 回答 1

2

您的版本不工作,因为您查询存储过程。

如果您考虑一下:要工作,它需要所有信息,例如密钥等。如果您在存储过程中连接表并仅选择没有一些重要主键的行子集怎么办?

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

于 2011-09-01T08:24:05.383 回答