OleDbDataAdapter.Update () с OleDbCommandBuilder - PullRequest
2 голосов
/ 31 августа 2011

Я работаю с базой данных Oracle, используя C # и OleDb. Я успешно извлек данные из запроса, но не могу обновить базу данных, используя OleDbAdapter.Update(), мой код обновления приведен ниже.(«Адаптер» - это ссылка на объект OleDbAdapter, используемый для успешного извлечения данных из базы данных.)

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

В настоящее время я получаю «Команда не подготовлена».ошибка в первой строке кода выше.Любые предложения, и я был бы очень признателен.

(Правка: ds это набор данных)

1 Ответ

2 голосов
/ 01 сентября 2011

ваша версия не работает, потому что вы запрашиваете хранимую процедуру.

Если вы думаете об этом: для работы ему нужна вся информация, такая как ключи и так далее.Что если вы присоединитесь к таблицам в своей хранимой процедуре и выберете только подмножество строк без каких-либо важных первичных ключей?

В этих случаях вам может потребоваться написать / получить хранимую процедуру или запросить себя и передать ееадаптер.

...