如何根据下拉列表所选值绑定网格视图数据

本文关键字:绑定 网格 视图 数据 何根 下拉列表 | 更新日期: 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();