替换字符串或字符串的一部分以符合SQL查询

时间:2016-10-04 07:20:52

标签: c# sql string list checkeditems

我知道我没有以最简单的方式解决这个问题,但我对C#还是比较陌生的。 我试图确保当我从5个选中的列表框中仅选择1,2,3或4时,我不会最终得到以下内容

&安培;&安培;或&&&等...我希望最终的字符串是xxxxx& xxxxx& xxx或类似的字符串被添加到预设的SQL查询。

代码如下:

任何帮助将不胜感激我已经在网上寻找一些帮助,但没有找到太多我能够得到我的头。

        List<object> list = checkedListBox1.CheckedItems.OfType<object>().ToList();
        List<object> list2 = checkedListBox2.CheckedItems.OfType<object>().ToList();
        List<object> list3 = checkedListBox3.CheckedItems.OfType<object>().ToList();
        List<object> list4 = checkedListBox4.CheckedItems.OfType<object>().ToList();
        List<object> list5 = checkedListBox5.CheckedItems.OfType<object>().ToList();


        string selected_fields_cb1 = string.Join(" ", list.ToArray());
        string selected_fields_cb2 = string.Join(" ", list2.ToArray());
        string selected_fields_cb3 = string.Join(" ", list3.ToArray());
        string selected_fields_cb4 = string.Join(" ", list4.ToArray());
        string selected_fields_cb5 = string.Join(" ", list5.ToArray());


        string allSelected = (selected_fields_cb1 + " " + selected_fields_cb2 + " " + selected_fields_cb3 +
           " " + selected_fields_cb4 + " " + selected_fields_cb5 + "");
        string allSelected2 = allSelected.Replace( " ", "&" );
        string allSelected3 = allSelected2.TrimEnd('&');

1 个答案:

答案 0 :(得分:0)

如果我理解得很好,你会尝试添加空格,然后用&替换这些空格。

直接这样做会更容易。

List<object> list = checkedListBox1.CheckedItems.OfType<object>().ToList();
List<object> list2 = checkedListBox2.CheckedItems.OfType<object>().ToList();
List<object> list3 = checkedListBox3.CheckedItems.OfType<object>().ToList();
List<object> list4 = checkedListBox4.CheckedItems.OfType<object>().ToList();
List<object> list5 = checkedListBox5.CheckedItems.OfType<object>().ToList();

var allObjects = list.Concat(list2).Concat(list3).Concat(list4).Concat(list5);
var res = string.Join("&", allObjects);