【发布时间】:2013-12-10 06:39:11
【问题描述】:
我有一个带有复选框列表的下拉菜单。当我选择项目并尝试通过单击搜索按钮在网格中显示时,我无法做到这一点。
protected void btnSearchEmpCode_Click(object sender, EventArgs e)
{
string selectedValues = string.Empty;
foreach (ListItem item in cblEmpCode.Items)
{
if (item.Selected)
selectedValues += "'" + item.Value + "',";
}
if (selectedValues != string.Empty)
selectedValues = selectedValues.Remove(selectedValues.Length - 1);
SqlConnection con = new SqlConnection(strcon);
SqlCommand cmd = new SqlCommand("SELECT *FROM Details WHERE Emp_Code IN (" + selectedValues + ")", con);
SqlDataAdapter Adpt = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
Adpt.Fill(dt);
AIGrids.DataSource = dt;
AIGrids.DataBind();
}
如果我在某个地方出错了,谁能纠正我。
【问题讨论】:
-
不要这样写你的SqlCommand,谷歌SqlParameters
-
你的代码有SQL注入
-
@RomanPushkin 如果选择的值来自复选框,那么 SQL 注入如何存在?
-
通过改变复选框的值
-
@ScottSelby:访问者如何更改复选框的值?我不认为这是可能的国际海事组织。
标签: c# asp.net .net asp.net-mvc c#-4.0