C# “错误”;无法在';System.Int32';和';System.String'&引用;设置DataGridView数据源
我已经使用VisualStudio在Windows应用程序中创建了一个数据网格视图,并尝试使用搜索文本框进行查询。该字段是一系列数字,但我已将其设置为C# “错误”;无法在';System.Int32';和';System.String'&引用;设置DataGridView数据源,c#,sql,winforms,visual-studio-2010,C#,Sql,Winforms,Visual Studio 2010,我已经使用VisualStudio在Windows应用程序中创建了一个数据网格视图,并尝试使用搜索文本框进行查询。该字段是一系列数字,但我已将其设置为Varchar(10) 当我使用下面的命令时,我得到以下错误 无法对“System.Int32”和“System.String”执行类似操作 代码: 谢谢在执行类似操作之前,先将作业编号转换为字符串 DV.RowFilter = string.Format("convert(JobNumber, 'System.String') Like '%{0
Varchar(10)
当我使用下面的命令时,我得到以下错误
无法对“System.Int32”和“System.String”执行类似操作
代码:
谢谢在执行类似操作之前,先将
作业编号
转换为字符串
DV.RowFilter = string.Format("convert(JobNumber, 'System.String') Like '%{0}%' ",
textBox1.Text);
数据视图可以接受它们的过滤器
如前所述,过滤是由.NET和DataView进行的,而不是由MySql进行的我猜JobNumber列的类型是int?您使用的是哪个数据库?
Otto
OP声明数据类型是varchar(10)
我使用的是MySql,JobNumber是DB@DJKRAZE,数据视图的jobnumber
列是int32类型。如果它是字符串,则不会有错误导致应用程序崩溃,但它也不会查询it@dane,让我们把一些事情弄清楚。您想搜索jobnumber
对吗?它是一个整数主键,对吗?jobnumber
的一些示例值是什么?为什么在你的问题中说varchar(10)
?也试着在开始时对它进行硬编码,以测试它是否有效,例如DV.RowFilter=“jobNumber LIKE'1234'”
,看看它是否有效,如果不起作用,那么还有其他问题wrong@DJKRAZE,那只会重复他原来的问题JobNumber
,如果是int,则需要将其转换为字符串,以便使用类似于的运算符。如果OP尝试jobnumber=1234
,那不需要转换就可以了。这就是为什么我问他是否可以像这样做jobnumber=vs jobnumber
DV.RowFilter = string.Format("convert(JobNumber, 'System.String') Like '%{0}%' ",
textBox1.Text);