无法在 int32 和字符串之间执行 = 操作。数据行过滤器
Cannot perform = operation between int32 and string. datarow filter
首先,对于我将要进行的解释,我深表歉意,我现在无法访问我的代码,正在使用我的 phone,但我想发布此内容,以便当我可以访问时稍后我希望得到答案。如果我不这样做,我显然会用它的实际作用来更新问题。
我的问题的相关详情:
我正在将一个字符串变量传递给一个方法
在方法内部使用变量作为数据视图的筛选值
我过滤的数据视图列是 varchar
我收到关于无法使用 int32 和字符串执行 = 操作的错误
据我所知,varchar 是字符串,我的变量是作为字符串传递的,因此也必须是一个。
我肯定已经正确地掌握了过滤的语法和用法,因为我已经在很多其他地方使用它,没有任何问题,并且对此进行了广泛的检查。
使用所有语句并且视图列值是 "only numeric" varchar 或变量是 "only numeric" 时是否有一些奇怪的行为?这似乎很奇怪,这可能会产生影响......一个字符串是一个字符串,对吗?
我尝试在列上使用 convert SQL 命令并在变量上使用 .tostring()。这不起作用,即使它起作用了,我仍然想要解释为什么 2 个字符串的行为就像一个是 int。
一个粗略的用法,虽然这里的语法可能是错误的,因为它来自记忆(所以如果它是那么假设它是正确的......见上文)
MyDataView.filter = "MyColumnnName = " + MyVariable;
到目前为止,根据我的研究,有些人建议输入“... + MyVariable +”;“我试过这个并得到了同样的错误。
非常感谢!
String
值必须用单引号括起来 ' '
。所以喜欢:
MyDataView.filter = "MyColumnnName = '" + MyVariable + "'";
如果它不是字符串列,您可以省略它们:
MyDataView.filter = "MyColumnnName = " + MyVariable;
但无论如何我都会使用 Linq-To-DataTable:
DataTable filtered = dataTable.AsEnumerable()
.Where(row => row.Field<string>("MyColumnnName ") == MyVariable)
.CopyToDataTable();
由于您可以使用所有 .NET 方法(或您自己的方法),因此更易于维护且功能更强大。
首先,对于我将要进行的解释,我深表歉意,我现在无法访问我的代码,正在使用我的 phone,但我想发布此内容,以便当我可以访问时稍后我希望得到答案。如果我不这样做,我显然会用它的实际作用来更新问题。
我的问题的相关详情: 我正在将一个字符串变量传递给一个方法
在方法内部使用变量作为数据视图的筛选值
我过滤的数据视图列是 varchar
我收到关于无法使用 int32 和字符串执行 = 操作的错误
据我所知,varchar 是字符串,我的变量是作为字符串传递的,因此也必须是一个。
我肯定已经正确地掌握了过滤的语法和用法,因为我已经在很多其他地方使用它,没有任何问题,并且对此进行了广泛的检查。
使用所有语句并且视图列值是 "only numeric" varchar 或变量是 "only numeric" 时是否有一些奇怪的行为?这似乎很奇怪,这可能会产生影响......一个字符串是一个字符串,对吗?
我尝试在列上使用 convert SQL 命令并在变量上使用 .tostring()。这不起作用,即使它起作用了,我仍然想要解释为什么 2 个字符串的行为就像一个是 int。
一个粗略的用法,虽然这里的语法可能是错误的,因为它来自记忆(所以如果它是那么假设它是正确的......见上文)
MyDataView.filter = "MyColumnnName = " + MyVariable;
到目前为止,根据我的研究,有些人建议输入“... + MyVariable +”;“我试过这个并得到了同样的错误。
非常感谢!
String
值必须用单引号括起来 ' '
。所以喜欢:
MyDataView.filter = "MyColumnnName = '" + MyVariable + "'";
如果它不是字符串列,您可以省略它们:
MyDataView.filter = "MyColumnnName = " + MyVariable;
但无论如何我都会使用 Linq-To-DataTable:
DataTable filtered = dataTable.AsEnumerable()
.Where(row => row.Field<string>("MyColumnnName ") == MyVariable)
.CopyToDataTable();
由于您可以使用所有 .NET 方法(或您自己的方法),因此更易于维护且功能更强大。