我正在尝试从MySQL数据库填充组合框;但是我什么都没有。
下面是代码。

表:类

列:代码,州

sqlstr = "SELECT * FROM Class WHERE State= Not Started"
DBCmd = New MySql.Data.MySqlClient.MySqlCommand(sqlstr, DBConn)
DBDR = DBCmd.ExecuteReader
While (DBDR.Read())
CB_Class.Items.Add(DBDR("Code"))
End While
DBCmd.Dispose()
DBDR.Close()


我认为结果是错误的,因为至少有2条记录的状态值设置为“未开始”。怎么了?我写“ State = Not Started”的方式有什么问题吗?

最佳答案

命令文本似乎不正确。它缺少要搜索的字符串周围的单引号

sqlstr = "SELECT * FROM Class WHERE State='Not Started'"
                                          ^           ^


如果State是一个字符串字段,则对它的每次搜索都应用单引号引起来。
当搜索的字符串包含单引号时,请注意潜在的问题。

在这种简单情况下,您可以直接使用字符串常量,但是如果使用用户输入来使搜索动态化,则应该使用参数化查询。

关于mysql - VB.NET:使用MySQL查询填充组合框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15823329/

10-14 13:07
查看更多