![]() |
#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);
__________________
Бывает, что человек молчит, когда ничего не знает о данном предмете, но чаще – когда знает о нем все. (Джордж Бернард Шоу) |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|