繁体   English   中英

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

[英]How to bind grid view data based on the dropdown list selected value

我有一个下拉列表来选择学生姓名。当我在下拉列表中选择一个学生姓名时,网格视图必须显示所选姓名的详细信息。 这是我对此的编码,但未显示任何内容。

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);

您是否正确绑定了Dropdown,如CustomerId,Text,之后您是否通过PostBack True从Selected_Index_Changed事件中调用此代码?

尝试在try - catch块中提供代码。 使用finally块通过使用con.Close();关闭连接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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM