为什么编译此代码会导致语法错误?
问题描述:
我写了下面的代码,但正如我所说,任何一个可以告诉为什么编译此代码会导致语法错误?
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);
}
}
答
语法错误来源于此声明我正在错误:
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
答
为什么不使用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);
}
你在哪里得到的错误? – 2011-04-12 11:24:06
请你发布完整的错误信息? – razlebe 2011-04-12 11:24:23
我想我们需要知道什么strBnkArray *之前*单击按钮来回答这个问题。最好的办法是,如果你在Select行上放置一个断点,并发布strBnkArray的内容。 – 2011-04-12 11:24:34