繁体   English   中英

'='运算符后缺少操作数

[英]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什么问题,如果cboProductcboSize的文本是空的,或者如果没有选择,现在它正在工作,我首先尝试过滤。 谢谢。 这是代码

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM