VB.NET中的SQL查询一直给我一个带通配符的错误

时间:2017-03-03 08:51:37

标签: mysql vb.net

我正在尝试使用VB.NET在我的数据库上执行此SQL查询:

Dim sql As New MySqlCommand("SELECT * FROM `personer` WHERE epost LIKE %" _
            & txbEpost.Text, tilkobling)

问题在于它一直出现错误,我不知道为什么。它一直说'gmail.com'附近有语法错误(假设我在txbEpost.Text中写了gmail.com)。但是在我的Web界面MySQL中运行完全相同的查询会产生预期的结果。

我做错了什么?

3 个答案:

答案 0 :(得分:3)

代码中的第一个问题是字符串值

附近缺少引号
"... WHERE epost LIKE '%" & txbEpost.Text &"'"

但是,这个查询应该使用参数来完成,以避免sql注入和其他解析问题(如果文本框包含单引号怎么办?)

Dim sql As New MySqlCommand("SELECT * FROM `personer` WHERE epost LIKE @epost"
sql.Parameters.Add("@epost", MySqlDbType.VarChar).Value = "%" & txbEpost.Text

答案 1 :(得分:-1)

嗨,认为应该有效

MySqlCommand("SELECT * FROMpersonerWHERE epost LIKE '%" _
            & txbEpost.Text & "'", tilkobling)

因为你的sql字符串缺少“'”。报价是必要的

答案 2 :(得分:-1)

怎么样:

  

MySqlCommand(“SELECT * FROMpersonerWHERE epost LIKE'%”&   txbEpost.Text& “%'”,tilkobling)