我正在尝试从 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/