从checkboxlist中检索选定的值并在sql查询中使用

时间:2014-05-12 13:21:57

标签: asp.net sql sql-server sql-server-2008

我想根据checkboxlist中选中的Item创建一个sql查询。只想从下面的代码中删除最后一个逗号。

    String queryt=" And Brand IN(";
        foreach (ListItem lst in brandcklist.Items)
        {
            if (lst.Selected == true)
            {
               queryt += "'"+lst.Text+"',";
            }
        }
        queryt += ")";
        Label3.Text = queryt;

输出为
和品牌IN('黑莓','Karbonn',)
请注意karbonn之后的逗号,我不想在最后一项之后添加逗号。

2 个答案:

答案 0 :(得分:1)

只需替换此行

queryt += ")";

queryt=queryt.TrimEnd(',') +")";

答案 1 :(得分:0)

这样的事情:

String queryt = string.Format(" And Brand IN ({0})", string.join(", ", brandcklist.Items.Where(p=>p.Selected).Select(p=>p.Text)))

但正如我所说,它对SQL注入开放。 Here是更好的描述,你应该如何做到这一点