“无法在System.Single和System.String上执行“喜欢”操作”

问题描述

我正在使用访问数据库作为数据源构建一个win表单应用程序,并且在我的winform的搜索按钮中,我有此代码”

private void searchAccessDatabase()
        {
            if (string.IsNullOrEmpty(KeywordTextBox.Text.Trim()))
            {
                Refreshdata();
                return;
            }
            string strkeyword = KeywordTextBox.Text.Trim().ToString();

            StringBuilder sb = new StringBuilder();
            sb.AppendFormat("(Convert(ID,'System.String') LIKE '" + "{0}" + "')",strkeyword);
            sb.AppendFormat("OR (Customer_Name LIKE '*" + "{0}" + "*')",strkeyword);
            sb.AppendFormat("OR (Complaint_Number LIKE '*" + "{0}" + "*')",strkeyword);
            sb.AppendFormat("(Convert(Size,strkeyword);
            sb.AppendFormat("OR (Material_Number LIKE '*" + "{0}" + "*')",strkeyword);
            sb.AppendFormat("OR (Nature_Of_Problem LIKE '*" + "{0}" + "*')",strkeyword);
            sb.AppendFormat("OR (Spool_Type LIKE '*" + "{0}" + "*')",strkeyword);
            string strFilter = sb.ToString();
           material_Return_DataBindingSource.Filter = strFilter;

            if (material_Return_DataBindingSource.Count != 0)
            {
                dataGridView1.DataSource = material_Return_DataBindingSource;
            }
            else
            {
                MessageBox.Show("No Records Found","Search Result",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);

                Refreshdata();
                return;
            }
        }

但是在运行期间出现以下错误: “无法在System.Single和System.String上执行'赞'操作。”

我知道该错误与单元格的格式类型和我使用的搜索类型有关,但是由于我仍在学习,因此我无法纠正它们:任何人都请在我错的地方纠正我。>

这是样本数据表:它将帮助您查看我要输入到表中的样本数据,我想使用该数据进行搜索

Sample data table

解决方法

  1. 在有无转换语句的情况下进行测试
  2. 您没有任何*表示字符串相似性可以在何处结束,例如:Name LIKE '*test*'会在Name字段中获得带有test的所有记录,而不论其前后是Name LIKE 'test*只会让您看到“名称”字段以test开头的内容。

您说的事实是“类似”某些东西,没有任何通配符或其他指示符,可能会引起问题。

尝试使它们相等,看看是否出错。

另外,您不需要多个字符串的字符串格式的+,因为sb.format可以在没有它们的情况下使用。

 sb.AppendFormat("(Convert(ID,'System.String') LIKE '" + "{0}" + "')",strkeyword);

可以写为

 sb.AppendFormat("(Convert(ID,'System.String') LIKE '{0}')",strkeyword);

我也不是说以下行开头没有“或”,否则可能会导致错误。

 sb.AppendFormat("(Convert(Size,strkeyword);

也许当错误出现时,使用您的追加产生的最终字符串来更新您的问题。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...