ADO VBNET update / addnew вопрос
Я переношу программу VBNet из DAO в ADO. Эта база данных является базой данных *.mdb.
В DAO я выполнил следующее: открыл базу данных, создал набор записей с помощью команды SQL select. Затем я мог бы обновить его с помощью команды recordset.edit/.update или .addnew.
В АДО я делаю глупости:
Public conn3 As New ADODB.Connection Dim rstGyles As ADODB.Recordset gsCurrentFilePath = OpenFileDialog1.FileName conn3.Provider = "Microsoft.Jet.OLEDB.4.0" conn3.Open(gsCurrentFilePath) rstGyles = conn3.Execute("SELECT * FROM bzGyle ORDER BY gNo DESC")
Это прекрасно работает для чтения файла и отображения данных, но не позволяет мне обновлять их с помощью:
rstGyles.Edit, .Update or .Addnew
Набор записей, по-видимому, создается в режиме только для чтения.
Я знаю, что ответ может заключаться в переходе к командам SQL insert и update, но я бы предпочел сначала исключить любую очевидную ошибку.
Что я уже пробовал:
Я пробовал использовать
'rstGyles.Open("SELECT * FROM bzGyle ORDER BY gNo DESC", conn3,, ADODB.LockTypeEnum.adLockOptimistic)
Это дает мне ошибку 91 "ссылка на объект не установлена на экземпляр объекта".
Я также попытался запустить первый, потому что документы microsoft говорят, что блокировка должна быть установлена перед открытием набора записей:
rstGyles.LockType = ADODB.LockTypeEnum.adLockOptimistic 'tried in v3.0.4
но это приводит к тому же самому сообщению.
Gerry Schmitz
Ваш показ "фрагментов кода". Вы просите "полного решения" вместо ответа на вопрос. Никто не собирается писать это для вас.
eramm01
Я не ищу полного решения (я не вижу этих слов в своем вопросе) Я прошу совета или намека.
MadMyche
Есть ли какая-то конкретная причина, по которой вы остаетесь с кодом VB6ish вместо того, чтобы обратиться к сетевому провайдеру, такому как System.Data.Для oledb?
eramm01
Да, потому что я не хочу тратить годы на переписывание. Я бы предпочел просто заставить его работать.
Richard Deeming
Я согласен с Myche: если вы все равно переносите код, лучше использовать ADO.NET вместо давно умершего АДОДБА.
ADO.NET обзор | Microsoft Docs[^]