powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ADO.Recordset проблемы с методами AddNew, Edit, Delete.
4 сообщений из 4, страница 1 из 1
ADO.Recordset проблемы с методами AddNew, Edit, Delete.
    #33240074
Kroket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе утро!
Есть БД Oracle 9i к которой подключаюсь через ADO. И для добавления, редактирования, удаления записей решил воспользоваться методами объекта ADO.Recordset AddNew, Edit, Delete.

С добавлением новых записей проблем нет,а вот при редактировании и удалении из рекордсета данных вылетает по ошибке, в том случае если рекордсет создан на основе более 1 таблицы, посредством инструкций inner join. Неужели методы обновления и удаления не будут работать для таких рекордсетов? (В DAO работало все, хоть десяток таблиц объедини, лишь бы это было внутреннее объединение)

Пример кода:
Dim rsDict As New ADODB.Recordset
Dim strSQL As String

adoCnn.ConnectionString = "Provider=MSDAORA;Password=1;User ID=1;Data Source=My"
adoCnn.Open


rsDict.CursorType = adOpenDynamic
rsDict.CursorLocation = adUseClient
rsDict.LockType = adLockPessimistic


strSQL = "select * from dBase a inner join dSpec b on a.rn_spec = b.rn"
rsDict.Open strSQL, adoCnn
rsDict.Delete adAffectCurrent
rsDict.Close

Run-time error '-2147467259 (80004005)':
ORA-01410: ROWID неверен
...
Рейтинг: 0 / 0
ADO.Recordset проблемы с методами AddNew, Edit, Delete.
    #33240211
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в dBase есть ключевое поле ?
...
Рейтинг: 0 / 0
ADO.Recordset проблемы с методами AddNew, Edit, Delete.
    #33240228
Kroket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да есть. Определено как Primary Key.
Главное в документации сказано, что для ADO в этом случае можно для рекордсета созданного на основе нескольких таблиц можно задать свойство:
rs.Properties("Unique Table") = "dBase", для того чтобы указать с какой именно таблицей я хочу произвести действие, но все равно это не помогает.
...
Рейтинг: 0 / 0
ADO.Recordset проблемы с методами AddNew, Edit, Delete.
    #33240704
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ты пробовал в самом оракле удалить содержимое твоего запроса:
Код: plaintext
1.
select * from dBase a inner join dSpec b on a.rn_spec = b.rn
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ADO.Recordset проблемы с методами AddNew, Edit, Delete.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]