簡體   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