如何根据下拉列表所选值绑定网格视图数据
本文关键字:绑定 网格 视图 数据 何根 下拉列表 | 更新日期: 2023-09-27 18:33:21
我有一个下拉列表来选择学生姓名。当我在下拉列表中选择学生姓名时,网格视图必须显示所选姓名的详细信息。这是我对此的编码,但它没有显示任何内容。
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MGLCOMConnectionString"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("SELECT VALUE,VDESC FROM CSOPTFD WHERE OPTFIELD='WONO'AND VALUE LIKE '%" + customerddl.SelectedValue + "%'", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
这是我的CS代码,用于获取所选值的详细信息。但它什么都没有。
VALUE
是T-SQL的保留关键字。将其与方括号一起使用,例如[VALUE]
请改用参数化查询。这种字符串串联对SQL注入攻击是开放的。
SqlCommand cmd = new SqlCommand("SELECT [VALUE], VDESC FROM CSOPTFD WHERE OPTFIELD = 'WONO' AND [VALUE] LIKE '%' + @value + '%'", con);
cmd.Parameters.AddWithValue("@value", customerddl.SelectedValue);
您是否正确绑定了下拉列表,例如 CustomerId、文本,然后您是否使用回发 true 从事件Selected_Index_Changed调用此代码?
尝试在try - catch
块中提供代码。使用finally
块通过con.Close();
关闭连接
此外,请尝试关闭连接,然后访问数据集以获取值。
SqlConnection con =null;
DataSet ds=null;
try
{
con = new SqlConnection(ConfigurationManager.ConnectionStrings["MGLCOMConnectionString"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("SELECT VALUE,VDESC FROM CSOPTFD WHERE OPTFIELD='WONO'AND VALUE LIKE '%" + customerddl.SelectedValue + "%'", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
ds = new DataSet();
da.Fill(ds);
}
catch(SQLException ex)
{
}
finally
{
if(con!=null)
con.Close();
}
GridView1.DataSource = ds;
GridView1.DataBind();