【发布时间】:2017-01-22 19:40:21
【问题描述】:
我想知道为什么这个 SQL 查询没有返回任何内容:
mySqlCommand.CommandText = "SELECT * FROM `users` WHERE Username LIKE %@Username% ORDER BY Id DESC";
mySqlCommand.Parameters.AddWithValue("@Username", this.search.Text);
这不是阅读器问题或类似问题,如果我删除“WHERE Username LIKE %@Username%”,它可以正常工作。 我在文本框的 KeyPress-Event 中调用了整个 MySQL-Query。 this.search 是文本框。我想搜索用户名列包含我在文本框中输入的字符的行。
【问题讨论】:
-
如果您要查找特定字符串,请使用
=而不是 LIKE -
另外,
LIKE %@Username%看到这是一个字符串,您需要将其视为一个字符串。 -
@Fred-ii- 我想检查用户名列是否包含字符串,= 不是我需要的
-
第一个问题是为什么在 C# 中使用内联 SQL 而不是存储过程。接下来,您是在寻找更大字符串中的特定字符串,还是始终精确匹配?
-
本问答可能对您有所帮助stackoverflow.com/q/16374840/1415724