看一个程序:
protected void Button1_Click(object sender, EventArgs e)
        {
            string ConStr = ("Server=(local);Integrated security=SSPI;database=ILS");
            SqlConnection con = new SqlConnection(ConStr);
            string SqlStr = "select distinct carrier from carrier where carrier=TextBox1.Text";
            SqlDataAdapter ada = new SqlDataAdapter(SqlStr, con);
            con.Open();
            DataSet ds = new DataSet();
            ada.Fill(ds);
          
            GridView1.DataSource = ds;
            GridView1.DataBind();
            con.Close();
        }
在textbox1输入内容后,点确定按钮,系统会报错,哪里有问题?

解决方案 »

  1.   

    哪里有错,VS IDE会告诉你的,我只看到下面这行
    string SqlStr = "select distinct carrier from carrier where carrier=TextBox1.Text";
      

  2.   

    这行有问题吗?报错提示:“/”应用程序中的服务器错误。
    --------------------------------------------------------------------------------无法绑定由多个部分组成的标识符 "TextBox1.Text"。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 无法绑定由多个部分组成的标识符 "TextBox1.Text"。源错误: 
    行 32:             con.Open();
    行 33:             DataSet ds = new DataSet();
    行 34:             ada.Fill(ds);
    行 35:             //DataList1.DataSource = ds;
    行 36:             //DataList1.DataBind();
     
      

  3.   

    将string SqlStr = "select distinct carrier from carrier where carrier=TextBox1.Text";改为
    string abc=TextBox1.Text.tostring();
    string SqlStr = "select distinct carrier from carrier where carrier="+abc;
      

  4.   

     GridView1.DataSource = ds.Tables[0];
      

  5.   

    呃 
    con.open()
    和con.close()不需要写的 
    虽然写了也没关系