Извлечение данных из базы данных с использованием OleDbConnection - PullRequest
0 голосов
/ 25 апреля 2011
Dim con As New OleDb.OleDbConnection
Public outputs As New DataSet    
sub main() 
    sqlquery("SELECT * FROM Students", "mark")
end sub
Sub sqlquery(ByVal sql As String, ByVal outputname As String)
    Try
        con.Open()
        Dim da As OleDb.OleDbDataAdapter
        da = New OleDb.OleDbDataAdapter(sql, con)
        da.Fill(outputs, outputname)
        con.Close()
    Catch
        errorid = 3
    End Try
    Console.WriteLine(messagefromerrorcode)
    Console.WriteLine(outputs.Tables(outputname).Rows(0).Item(1))
End Sub

Вот изображение моей таблицы данных и дизайна
Я пытаюсь прочитать некоторые значения из базы данных, используя набор данных oledb, однако, когда я запускаю команду sql и приступаю к выводу значения, меня приветствует следующая ошибка: «IndexOutOfRangeException: в позиции 0 нет строки». Тем не менее, когда я запускаю ту же самую команду sql в доступе, я получаю нужные данные. Когда я запускаю приведенный выше код, никаких ошибок не возникает, пока я не дохожу до последней записи, где я хочу вывести свои данные.
Любые идеи будут очень полезны.

1 Ответ

0 голосов
/ 25 апреля 2011

Я не вижу ни одной строки подключения, присваиваемой объекту OleDbConnection con.Вы отредактировали это для этого примера?

Мне кажется, это запутано, потому что OleDbDataAdapter.Fill предназначен для заполнения набора данных из набора записей после того, как вы заполнили набор записей из базы данных.

...