c# - 喜欢子串

标签 c# sql-server

我在下面的代码中尝试做的是让用户在想要搜索以字符开头的 cat 时先添加“%”。

if (textBox1.text.StartsWith("%"))
{
    sql = "Select cat from items where cat like '%" +textBox1.text.Substring(1)+"'";
    command = new SqlCommand(sql, cnn);
    dataReader = command.ExecuteReader();
    while (dataReader.Read())
    {
        listBox2.Items.Add(dataReader.GetString(0));
    }
    dataReader.Close();
    command.Dispose();

但列表框中什么也没有显示。

最佳答案

如果将生成的 sql 直接向数据库运行,是否会得到任何结果?

如果您想搜索以特定字符开头的项目,如果 x 是您的字符,则语法为 like 'x%'。您当前有百分号和字符切换,并正在向数据库询问所有以您指定的字符结尾的猫。要搜索以您想要的特定字符开头的猫:

sql = "Select cat from items where cat like '" +textBox1.text.Substring(1)+"%'";

关于c# - 喜欢子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52159412/

相关文章:

sql-server - 获取 sql 作业代理作业的最后修改用户

c# - 读/写进程内存声明

c# - 如何缓存 IDisposable 对象

sql - 如何在 SQL 中有效地找到多个记录的运行最新更新?

sql - 向 View 添加索引时出错

sql - GETUTCDATE 函数

sql - 遍历 XML 节点并在 SQL Server 中发送电子邮件

c# - 如何将对象数组传递给 $http.get 参数

c# - 重构这个 Lambda 表达式

c# - 正则表达式可以去除什么,例如字符串左边的 "note:"和 "firstName: "?