0

我能够使用以下代码显示我的 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 和 MySQL 代码

4

2 回答 2

0

我认为您最好检查传递给命令对象的 sql 语句,cmd.
也许您没有使用 选择整个记录select *

而且,还有一个建议。
如果datardrDataReader,我强烈建议您不要使用它。它引起的问题比它所服务的要多。
更灵活的方法是只使用DataTable.
命令对象具有ExecuteNonQuery返回DataTable对象的方法。
它比 DataReader 更灵活、更易于使用。相信我...!;-)

于 2012-06-30T06:07:12.657 回答
0

好的,这里有另一个答案给你。

我认为这是因为您在第 21 行的 SQL 语句。
我假设您选择了一条记录(对吗?),以便您可以将结果字段插入文本框中。并且,您使用 SURNAME 对结果进行排序。
您是否仔细检查了表中是否已有数据masterlist?特别是检查,如果您已经在每一行的每个字段中输入了数据。

在第 30 行,你调用datardr.Read()了方法,所以 DataReader 对象datardr将读取它在 sql 语句的结果中遇到的第一条记录行。我认为只有第一条记录的四个字段,,,SURNAME和有数据值GIVEN,以及任何其他字段包含空值。因此,您只在文本框中看到了这四个值,而任何其他字段似乎都是空白的。MIDMIDDLE

我认为这可能是主要问题。只需检查您想要出现的数据是否已经存在于数据库表中。好的!

还有另一个建议。您不认为您的 SQL 语句中可能需要 WHERE 子句吗?好吧,您只想显示一条记录,不是吗?

祝你好运!!!:-)

于 2012-07-01T17:14:33.713 回答