我正在尝试使用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中运行完全相同的查询会产生预期的结果。
我做错了什么?
答案 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)