[英]Missing operand after '=' operator
我有这行代码使用view_1
,我正在尝试使用RowFilter
按product_name及其大小过滤datagridview。 这是代码:
view_1.RowFilter = "product_name = '" + cboProduct.Text + "' AND size = " + cboSize.Text + "";
当我尝试运行应用程序时,它会Missing operand after '=' operator
。 那么缺少操作数是什么?
你在
'AND
缺少空格
所以更换
'AND
同
AND size = '" + cboSize.Text + "'";
大小是字符串列还是int列? 如果它是一个字符串,你也需要引号:
AND size = '" + cboSize.Text + "'";
甚至更好,使用String.Format
因为其他人已经评论,因为它具有可读性:
view_1.RowFilter = string.Format("product_name = '{0}' AND size = '{1}'" , cboProduct.Text , cboSize.Text);
写这样的
view_1.RowFilter = "product_name = '" + cboProduct.Text + "' AND size = " + cboSize.Text + "";
缺少白空间问题
编辑
您也可以使用string.Format
view_1.RowFilter = String.Format("product_name = '{0}' AND size = {1}", cboProduct.Text,cboSize.Text);
我不知cboProduct
什么问题,如果cboProduct
和cboSize
的文本是空的,或者如果没有选择,现在它正在工作,我首先尝试过滤。 谢谢。 这是代码
if (cboProduct.Text == string.Empty || cboProduct.SelectedIndex == -1 || cboSize.Text == string.Empty || cboSize.SelectedIndex == -1)
{
view_1.RowFilter = string.Empty;
}
else
{
view_1.RowFilter = "product_name = '" + cboProduct.Text + "' AND size = " + cboSize.Text + "";
}
如果变量product_name
具有包含空格的值,则需要将值包装在过滤器表达式的方括号中:因此,只需将变量product_name
包装为方括号对,如[product_name]
view_1.RowFilter = "[product_name] = '" + cboProduct.Text + "' AND size = " +
cboSize.Text + "";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.