2015-11-07 2 views
0

Я хочу вставить некоторую информацию в базу данных в VB6, но получаю ошибку времени выполнения '91'. Мой код:Ошибка времени выполнения '91' при добавлении данных в набор записей

Private sub btn_click() 
      Fname = txtFname.text 
      Adodc1.Recordset.AddNew 
      Adodc1.Recordset.Fields("Fname") = Fname 
      Adodc1.Recordset.Update 
    End sub 

Debuger показывает ошибка: Adodc.Recordset.AddNew

+0

Я отредактировал ваше сообщение, чтобы сделать его более читаемым. Один из решений, который я сделал, заключался в том, чтобы написать «Adodc1.Recordset.Fields» («Fname») = Fname' как одну строку, а не две строки. Я думаю, что это был ваш исходный код, прежде чем ошибка копирования-вставки разделила строку, но, пожалуйста, проверьте это. – MicroVirus

ответ

1

Вы не отправил остальную часть кода, где переменная Adhoc1 создается и т.д ...

Это post предполагает, что RecordSet не был инициализирован до начала работы с ним, но с этим кодом трудно быть более конкретным.

1

Ошибка выполнения '91' - Object variable or With block variable not set, что несколько запутывает способ сказать, что ваша переменная содержит Nothing.

Вы либо забыли инициализировать Adodc1 должным образом, или, и это более вероятно, что вам нужно инициализирует Adodc1.RecordSet к чему-то полезное (как Set Adodc1.RecordSet = New RecordSet или связанной с ними), прежде чем вы можете использовать его.

0

Кстати, вы отправили код, я считаю, что вы заселяете набор записей для вставки в базу данных. Попробуйте сделать следующее:

sub btn_click() 
    dim Adodc1 as adodb.recordset 

    set Adodc1 = new adodb.recordset 

    Fname = txtFname.text 

    Rs.Fields.Append "Fname", adVarChar, 20  'adVarChar = text, followed by the amount of characters 

    Adodc1.open() 

    Adodc1.Recordset.AddNew 
    Adodc1.Recordset.Fields("Fname") = Fname 
    Adodc1.Recordset.Update 
End sub 
Смежные вопросы