C# sql like 语句不起作用

标签 c# sql-server sql-like

大家好,美好的一天。我对 sql/c# 的 like 语句有一点疑问,我不明白为什么我的代码不起作用。

if (Combo_List.Text == "What")
{
   listView1.Items.Clear();
   myds.Clear();
   mydaEvents.SelectCommand = myconn.CreateCommand();
   mydaEvents.SelectCommand.CommandText = "select * from Eventstbl where What like '@what%'";
   mydaEvents.SelectCommand.CommandType = CommandType.Text;
   mydaEvents.SelectCommand.Parameters.Add("@what", SqlDbType.NVarChar, 2000, "What").Value = text_Search.Text;
   mydaEvents.Fill(myds, "Eventstbl");

   foreach (DataRow item in myds.Tables["Eventstbl"].Rows)
   {
       ListViewItem items = new ListViewItem(item["EventsID"].ToString());
       items.SubItems.Add(item["What"].ToString());
       listView1.Items.Add(items);
   }
}

@what% 不起作用,但是当我输入“a%”时,所有以字母 a 开头的项目都显示在我的 listview1 中。我不知道如何解决这个问题。请帮帮我。提前谢谢你。

最佳答案

试试这个:

mydaEvents.SelectCommand.CommandText = "select * from Eventstbl where What like @what + '%'";

引号内的文本将被视为...文本 - 您希望参数被解释为其字符串,因此您必须将其移出。

关于C# sql like 语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9605628/

相关文章:

c# - 如何使用 Microsoft.Graph 将文件附加到 Sharepoint 中的项目

c# - SQL Server 插入

sql-server - T-SQL : How Do I Create A "Private" Function Inside A Stored Procedure

php - MySQL .. 使用全文搜索还是使用 Like?什么是更好的?

c# - 我如何在 Ninject 中使用装饰器声明责任链?

c# - 将Json Property的Property反序列化为Property

子查询与声明中的 SQL UDF 速度

mysql - 我的 Mysql LIKE 语句应该多快?

PHP检查mysql数据库字符串中是否包含字符串

c# - 计算操作系统中的线程总数(Windows/Linux)