VB.NET:使用MySQL查询填充ComboBox

时间:2013-04-04 23:14:58

标签: mysql vb.net combobox

我正在尝试从MySQL数据库填充Combobox;但我什么都没得到。 以下是代码。

表:类

列:代码,状态

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”的方式有什么不对吗?

1 个答案:

答案 0 :(得分:1)

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

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

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

在这个简单的例子中,您可以直接使用字符串常量,但如果使用用户输入呈现搜索动态,则应使用参数化查询。