|
|
#3 |
|
Участник
|
Цитата:
Сообщение от Gustav
Если абстрагироваться от того, как реализованы классы CCADO*, то у объекта Connection в "настоящем" ADO есть методы BeginTrans, CommitTrans, RollbackTrans. Записи обновляются через объект Recordset путем задания значения его полей. Обновление происходит автоматически при переходе к другой записи (в ADO нужно предпринять специальные шаги, чтобы ОТМЕНИТЬ изменения, а просто изменения сохраняются автоматически). Если курсор все еще остается в текущей записи, а ее уже надо сохранить, то применятся метод Update (для большей уверенности и читабельности кода его можно применять всегда). Вам нужно посмотреть классы CCADO* и при необходимости добавить нужные методы, обратясь к справке по ADO за подробностями (например, к файлу ADO210.CHM). Или сделать всё самому через COM, не используя классы CCADO* (мне показалось, что эти классы больше ориентированы на чтение данных, нежели на изменение, хотя я могу и ошибаться - внимательно не изучал их).
![]() И Update тоже уже создал, только вот ругается: Цитата:
Метод "value" в COM-объекте класса "Field" возвратил код ошибки 0x800A0CB3 (<неизвестно>), который означает: Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.
Сейчас так: X++: connection.open(
"Provider=SQLOLEDB;"+
"Data Source=" + serverName + ";" +
"Initial Catalog=" + baseName + ";" +
"uid=" + userId + ";" +
"pwd=" + userPassword);
__________________
Бывает, что человек молчит, когда ничего не знает о данном предмете, но чаще – когда знает о нем все. (Джордж Бернард Шоу) |
|
|
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|