当我在MySQL中运行此命令时:
SELECT * FROM v
WHERE v.firstname LIKE '%a%' OR middlename LIKE '%a%' OR lastname LIKE '%a%'
它在结果集中返回4行。
但是当我使用C#中的参数运行相同的查询时,它只返回一个。
SELECT * FROM v
WHERE v.firstname LIKE ?word OR middlename LIKE ?word OR lastname
cmd.Parameters.AddWithValue("word", '%'+key+'%');
我也尝试'%' ?word '%'
并仅添加参数(键),但这也不起作用。
我如何使这项工作?
答案 0 :(得分:0)
您使用的是:
cmd.ExecuteScalar()
你的代码中的?它只会返回1条记录。尝试
cmd.ExecuteReader()
代替。
答案 1 :(得分:0)
在你的第二个SQL语句结束时,你似乎错过了“LIKE?word”。
答案 2 :(得分:0)
WHERE v.firstname LIKE?word OR middlename LIKE?word or lastname 你错过姓LIKE?word?