【发布时间】:2019-03-08 06:58:30
【问题描述】:
此代码在下面标记的行上引发错误,谁能指出正确的方向,为什么会引发错误?
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString);
SqlDataAdapter dadapter;
DataSet dset;
string sql = "SELECT * from SocoetyMaintan";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
dadapter = new SqlDataAdapter(sql, con);
dset = new DataSet();
dadapter.Fill(dset);
DropDownList1.DataSource = dset.Tables[0];
DropDownList1.DataTextField = "FullName";
DropDownList1.DataValueField = "Id";
DropDownList1.DataBind();
GridViewBind();
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
GridViewBind();
}
public void GridViewBind()
{
dadapter = new SqlDataAdapter("SELECT * from SocoetyMaintan where Id=" + DropDownList1.SelectedValue + "", con);
dset = new DataSet(); //Throwing Error Here
dadapter.Fill(dset);
GridView1.DataSource = dset.Tables[0];
GridView1.DataBind();
【问题讨论】:
-
使用准备好的语句。你表中
Id列的类型是什么,你想绑定什么C#类型? -
当你说错误时——你的意思是编译时错误吗?
-
错误只是表示Select语句格式不正确,无法解析,为什么你不能弄清楚生成的Select语句以及它是否会作为普通sql运行,这就是整个问题
-
试试这个 =>
dadapter = new SqlDataAdapter("SELECT * from SocoetyMaintan where Id='" + DropDownList1.SelectedValue + "'", con); -
您是否在代码中的任何位置打开了 SQL 连接?