MySQL Непонятная ошибка при чтении данных

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Dion
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 16.03.2008 (Вс) 16:03

MySQL Непонятная ошибка при чтении данных

Сообщение Dion » 27.01.2012 (Пт) 23:33

Компилятор: Visual Basic 2010 Express
SQL сервер: MySQL 5.0.51a-3ubuntu5.8
Для подключения к удалённому серверу использую MySQL Connector Net 6.4.4.

Код: Выделить всё
Dim ConStr As String = "Server=ServerIP; Database=mybase; Uid=mylogin; Pwd=mypass; charset=cp1251;"
Dim Query As String = "SELECT * FROM `my_table` WHERE `id` = 1"
Dim Con As MySqlConnection
Dim cmd As MySqlCommand
Dim result As MySqlDataReader
Con = New MySqlConnection(ConStr)
Con.Open()
cmd = New MySqlCommand(Query, Con)
result = cmd.ExecuteReader
TextBox1.Text = result.GetString("name")
Con.Close()


При исполнении выходит ошибка: Invalid attempt to access a field before calling Read() с указанием на TextBox1.Text = result.GetString("name")
Текст ошибки можно дословно перевести как: "Недопустимая попытка получить доступ к полю, прежде чем вызвать Read()", что как-то странно...

result.GetName - к примеру работает хорошо и показывает заголовки столбцов...

Дополнительные сведения:
Поле name в базе: тип данных - varchar; кодировка - cp1251_general_ci

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 27.01.2012 (Пт) 23:38

Должно быть нечто такое:
Код: Выделить всё
Do While result.Read()
  Dim Cur as string = result("name")
  ' ...
Loop

Если нужна только одна строка, то
Код: Выделить всё
result.Read()
TextBox1.Text = result("name")

PS: Код писал тут, могут быть ошибки.

Dion
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 16.03.2008 (Вс) 16:03

Re: MySQL Непонятная ошибка при чтении данных

Сообщение Dion » 27.01.2012 (Пт) 23:44

Qwertiy, спасибо огромное! Заработало :D

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 28.01.2012 (Сб) 0:01

Не за что :)


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

    TopList