ADO и обновление данных
От: SavaLogrus  
Дата: 29.06.03 11:13
Оценка:
Раньше пользовался доступом к базам через ODBC. Теперь пишу новую программу и решил перейти на ADO.
Все это на С++ под Вижуал Студио NET и MS SQL 2000.
Пока нужно было только считывание все было нормально. Создал Consumer, разобрался с вариантами — был доволен.
Теперь когда информация отображается как мне нужно, пришел черед обновления и вставки данных.
И тут я наткнулся на грабли.
Мне нужно обновлять данные в конкретной таблице по первичному ключу.
Но оказалось, что если получать конкретную запись по условию (когда в запросе есть WHERE)
не получается интерфейс IRowsetChange.
Ну нет его и все. Причем не важно как делать выборку — через прямое открытие с созаднием строки запроса
или через аксесор с параметрами.

Пока вижу два варианта:
1. Получить всю таблицу и пролистать до нужной записи.
Но это полный бред, хотя и реализуемо.
2. Делать обновления через выполнение команды UPDATE.
Это уже не бред, но получается все придется писать самому.
Особенно сложно разбираться какие поля были изменены, какие нет.
Да и вообще несколько неожиданно. В ODBC таких проблем не было.
С другой стороны для OLE DB Provider for Oracle это единственный выход.
Пусть у меня и не оракл, но похоже такова концепция для ADO.

Поиски по MSDN и интернету показали только то, что ADO более или менее занимаются только
в этом формуме.

Поэтому вопрос:
Как все таки обновлять конкретную запись? Кто как это делает?
Может я чего прозевал? Документация по ADO оставляет желать лучшего.
Книг вообще нет. Может курсор нужен какой то специфичный?
И может подскажете хорошую документацию по ADO?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.