对不起,我仍然是 C# n00b。我有这个代码,它将从我的控件中检索项目。问题是,最终的 SQL 字符串有点偏离。我的 s2 变量中有一个额外的逗号。
这是我的代码隐藏:
protected void btnSubmit_OnClick(object sender, EventArgs e)
{
//String with all selected items in ListBox lstFilter
var selectedQuery = lstFilter.Items.Cast<ListItem>().Where(item => item.Selected);
string txtlstFilter = String.Join("','", selectedQuery).TrimEnd();
//String with all selected items in CheckBoxList cbFields1
string s1 = string.Empty;
new List<ListItem>(cbFields1.Items.Cast<ListItem>().Where(i => i.Selected)).ForEach(x => s1 += string.Format("{0}, ", x.Value));
//String with all selected items in CheckBoxList cbFields2
string s2 = string.Empty;
new List<ListItem>(cbFields2.Items.Cast<ListItem>().Where(j => j.Selected)).ForEach(y => s2 += string.Format("{0}, ", y.Value));
// textBox1.Text = s;
var strSQL = "SELECT " + s1 + s2 + " FROM vwClaimRoster WHERE " + cboFilterOption.SelectedValue + " in ('" + txtlstFilter + "');";
}
这就是 strSQL 的最终结果(基于我选择的内容):
“SELECT MgrName、Division、Routing、Dept、ExpCtr、State、EEName、Argus、CCP、ChkRework、来自 vwClaimRoster 的 Dept in ('Account ADVOCACY'、'BILLING CONTROL'、'CCF CLAIM');”
如您所见,我需要删除字段列表中的最后一个逗号(ChkRework 之后的那个)。
任何帮助,将不胜感激!