我能够使用以下代码显示MySQL表中的数据: datardr = cmd.ExecuteReader
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
但是,我注意到它没有显示来自这些字段的所有数据。我只能查看SURNAME,GIVEN,MID和MIDDLE,但其他的都没有显示..我已经仔细检查了我的数据库字段,我确信它们是相同的,没有特殊的字符或空格。
请帮忙。谢谢!
以下是我拥有的确切代码=> VB2010 and MySQL Code
答案 0 :(得分:0)
我认为你最好检查一下传入命令对象的{s}语句cmd
也许你没有用select *
选择整个记录
还有一个建议
如果datardr
是DataReader
,我强烈建议您不来使用它。它造成的问题多于它所服务的问题。
更灵活的方法是仅使用DataTable
。
命令对象具有ExecuteNonQuery
方法,该方法返回DataTable
对象。
它比DataReader更灵活,更易于使用。相信我...! ; - )
答案 1 :(得分:0)
好的,这是给你的另一个答案。
我认为这是因为第21行中的SQL语句
我假设您正在选择 ONE 记录(我是对的吗?),以便您可以将结果字段插入文本框中。并且,您使用SURNAME订购结果。
您是否仔细检查masterlist
表中是否已存在数据?如果您已在每行的每个字段中输入数据,请特别检查。
在第30行中,您调用了datardr.Read()
方法,因此DataReader对象datardr
将读取它在sql语句结果中遇到的第一条记录行。我认为只有四< / b>第一条记录的字段SURNAME
,GIVEN
,MID
和MIDDLE
包含数据值,其他任何字段都包含空值。因此,您只在文本框中显示了这四个值,而其他任何字段都显示为空白。
我认为这可能是主要问题。只需检查您想要出现的数据是否已存在于数据库表中。 OK!
另一个建议。您认为在SQL语句中可能需要WHERE子句吗?好吧,你想只显示一条记录,不是吗?
祝你最幸运! : - )