2012-06-30 7 views
0

Я был в состоянии отображать данные из моей таблицы MySQL с помощью этого кода: datardr = cmd.ExecuteReaderОтображение данных таблицы базы данных MySQL в VB 2010 Textboxes

If datardr.HasRows Then 
     datardr.Read() 
     tb_lname.Text = datardr("SURNAME") 
     tb_fname.Text = datardr("GIVEN") 
     tb_mname.Text = datardr("MID") 
     tb_mi.Text = datardr("MIDDLE") 
     tb_app.Text = datardr("APPELLATION") 
     tb_prefix.Text = datardr("PREFIX") 
     tb_sex.Text = datardr("SEX") 
     tb_status.Text = datardr("STATUS") 
    End If 

Однако я заметил, что он не отображает все данные, поступающие из этих полей. Я могу просматривать только заголовки, GIVEN, MID и MIDDLE, но остальные не отображаются. Я дважды проверил поля своей базы данных, и я уверен, что они одинаковые и без специальных символов или пробелов.

Пожалуйста, помогите. Благодаря!

Вот точный код, который у меня есть =>VB2010 and MySQL Code

ответ

0

Хорошо, вот вам еще один ответ.

Я думаю, что это из-за вашего оператора SQL в строке 21.
Я предполагаю, что вы выбираете запись ONE (я прав?), Чтобы вы могли вставлять результирующие поля в текстовые поля. И вы заказываете результат с ФАЙЛОМ.
Вы дважды проверяли, есть ли данные в таблице masterlist? Особенно проверьте, если вы уже ввели данные в каждом поле в каждой строке.

В строке 30, вы назвали datardr.Read() метод, поэтому объект DataReader datardr прочтет первую запись строки она сталкивалась в результате SQL statement.I думать только четыре поля первой записи, SURNAME, GIVEN, MID и MIDDLE имеют значения данных, а любые другие поля содержат нулевые значения. Таким образом, вы получили только эти четыре значения внутри текстовых полей, и любые другие поля оказались пустыми.

Я ДУМАЮ, ЧТО ЭТО МОЖЕТ БЫТЬ ОСНОВНОЙ ПРОБЛЕМ. Просто проверьте, были ли данные, которые вы хотели появиться, уже существовали в таблице базы данных. ОК!

И еще одно предложение. Как вы думаете, вам может понадобиться предложение WHERE в вашем SQL-заявлении? Ну, вы хотите отобразить только одну запись, не так ли?

ЖЕЛАЮ ВАС ЛУЧШЕ УДАЧУ !!! :-)

+0

Привет! Спасибо за ответ, я уже проверил мою базу данных, и я уверен, что все поля содержат значения. Фактически, когда я пытался это сделать, добавив базу данных MySQL в Источники данных, записи появились в DataGridView, а также в текстовых блоках. – ix3

+0

Извините, я не могу понять, что вы имели в виду в предыдущем комментарии. Что произошло, когда вы добавляли базу данных MySQL в источник данных и как появилась запись в виде сетки и текстовых полей? –

0

Я думаю, вам лучше проверить SQL заявление, которое передается в командный объект, cmd.
Возможно, вы не выбрали всю запись с помощью select *.

И еще одна рекомендация.
Если datardr является DataReader, я настоятельно рекомендую вам NOT, чтобы использовать его. Это вызывает много проблем, чем служит.
Более гибкий подход заключается в использовании только DataTable.
Объект команды имеет метод ExecuteNonQuery, который возвращает объект DataTable.
Он более гибкий и гораздо более простой в использовании, чем DataReader. Доверьтесь мне...! ;-)

+0

У меня был опыт проведения цельной ночи выбора и чтения данных с объекта DataReader. –

+0

Для выбора данных из DataTable, чем объекта DataReader, требуется всего лишь короткий момент и с несколькими кодами. –

+0

извините, но, честно говоря, я довольно новичок в этом, и я не знаю, как это сделать. Я собираюсь вставить свой код через несколько минут, и, возможно, вы можете помочь мне исправить это. Благодаря! – ix3

Смежные вопросы