我有以下提到的代码:
List<string> queryEventIDList=new List<string>();//added new list<string>
foreach (ListItem lstAssign in lstEvent.Items)
{
if (lstAssign.Selected == true)
{
queryEventIDList.Add(lstAssign.Value);
logfield = logfield + "," + lstEvent.SelectedItem.Text;
}
}
string queryEventIDs = string.Join(",", queryEventIDList.ToArray());
来自queryEventIDs,我得到了所选的值。我有一个下面提到的查询行,其中condition.suppose我选择A和B,它只给我一个A的结果。
" (('" + queryEventIDs + "'='') OR (inq1.event_id in('" + queryEventIDs + "'))) AND " + //queryeventids(A,B)//skips result of B
所以我稍微修改了line.i从中删除了单引号('')。
" (('" + queryEventIDs + "'='') OR (inq1.event_id in(" + queryEventIDs + "))) AND " + //Queryeventids(A,B)//gives both result
所以这给了我A和B的两个选定结果。这很奇怪。inq1.event_id in('" + queryEventIDs + "'
有和没有单引号的区别是什么?
我是C#的初学者。非常感谢任何帮助。
答案 0 :(得分:0)
添加Replace
解决了我的问题
" (('" + queryEventIDs + "'='') OR (inq1.event_id in('" + queryEventIDs.Replace(",", "','") + "'))) AND " +