2011-04-12 124 views
0

我寫了下面的代碼,但正如我所說,任何一個可以告訴爲什麼編譯此代碼會導致語法錯誤?

protected void btnGenerate_Click(object sender, EventArgs e) 
{ 
    DataRow[] dRow; 
    DataTable dt = new DataTable(); 
    foreach (GridViewRow grRow in grdACH.Rows) 
    { 
     CheckBox chkItem = (CheckBox)grRow.FindControl("checkRec"); 
     if (chkItem.Checked) 
     { 
      chkItm = true; 
      chkcnt++; 
      strBankTypeID = ((Label)grRow.FindControl("lblBankType")).Text.ToString(); 
      strBnkArray.Append(strBankTypeID); 
      strBnkArray.Append(","); 
     } 
    } 
    oEmpDeposits.getEmpDepositDetails(out local_ds, strFedTaxId, PayperiodNumber, PayrollYear, strPayFreqType); 

for (int i = 0; i < local_ds.Tables[0].Rows.Count; i++) 
    { 
     string strTrim = strBnkArray.ToString().TrimEnd(','); 
     strTrim = "BankAccountTypeID='" + strTrim[i] + "'"; 
     if (strTrim.Contains("BankAccountTypeID=',")) 
     { 
      strTrim = "BankAccountTypeID='" + strTrim[i] + "'"; 
     } 

     dRow = local_ds.Tables[0].Select(strTrim); 
    } 
} 
+2

你在哪裏得到的錯誤? – 2011-04-12 11:24:06

+0

請你發佈完整的錯誤信息? – razlebe 2011-04-12 11:24:23

+3

我想我們需要知道什麼strBnkArray *之前*單擊按鈕來回答這個問題。最好的辦法是,如果你在Select行上放置一個斷點,併發布strBnkArray的內容。 – 2011-04-12 11:24:34

回答

2

語法錯誤來源於此聲明我正在錯誤:

dRow = local_ds.Tables[0].Select(strBnkArray.ToString().TrimEnd(',')); 

也有一些是錯誤的表達你正在嘗試使用。

表達是從這個由:

strBnkArray.ToString().TrimEnd(',') 

檢查那是什麼,你找到答案。也許這樣:

string mySelectStatement = strBnkArray.ToString().TrimEnd(','); 
dRow = local_ds.Tables[0].Select(mySelectStatement); 
+0

一個小小的幫助,我修改了我的代碼張貼,但第二次在循環中,我越來越','我如何跳過這並打印下一個之前,我,我假設我的字符串是C,D我想檢查只有C和D跳過',' – Dotnet 2011-04-12 12:02:40

0

爲什麼不使用ArrayList而不是字符串數組。因此,這將是容易操縱

樣品

if (chkItem.Checked) 
{ 
    chkItm = true; 
    chkcnt++; 
    strBankTypeID += ((Label)grRow.FindControl("lblBankType")).Text.ToString(); 
    ArrayList lstArray=new ArrayList(); 
    lstArray.Add(strBankTypeID); 
} 

後來

oEmpDeposits.getEmpDepositDetails(out local_ds, strFedTaxId, PayperiodNumber, PayrollYear, strPayFreqType); 

    for (int i = 0; i < lstArray.Count; i++) 
    { 
     //string strTrim = strBnkArray.ToString().TrimEnd(','); 
     strBankAccntType = "BankAccountTypeID='" + lstArray[i].ToString() + "'"; 
     dRow = local_ds.Tables[0].Select(strBankAccntType); 
    } 
相關問題