ADO.Recordset проблемы с методами AddNew, Edit, Delete. - VB

Узнай цену своей работы

Формулировка задачи:

Доброе утро!
Есть БД 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 неверен

Решение задачи: «ADO.Recordset проблемы с методами AddNew, Edit, Delete.»

textual
Листинг программы
<font color="blue">select</font> * from dBase a inner join dSpec b <font color="blue">on</font> a.rn_spec = b.rn

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5