string con = ConfigurationSettings.AppSettings["SqlConnectionString"];
SqlConnection conn = new SqlConnection(con);
string sql_cp = "SELECT * FROM products WHERE id = '"+ Request.QueryString["id"] +"'";
SqlCommand cmd_cp = new SqlCommand(sql_cp,conn);
SqlDataReader rd = new SqlDataReader();
conn.Open();
rd = cmd_cp.ExecuteReader();
cpmc.Text = rd["产品名称"].ToString();
string cpmc = cpmc.Text;
conn.Close();

解决方案 »

  1.   

    id的类型是字符型的吗?不是就去掉引号.
    应该执行rd.Read().
    cpmc既是控件的名称,又是变量的名称?
      

  2.   

    string con = ConfigurationSettings.AppSettings["SqlConnectionString"];
    SqlConnection conn = new SqlConnection(con);
    string sql_cp = "SELECT * FROM products WHERE id = '"+ Request.QueryString["id"] +"'";
    SqlCommand cmd_cp = new SqlCommand(sql_cp,conn);
    conn.Open();
    SqlDataReader rd =cmd_cp.ExecuteReader();;
    if(rd.Read() == true){
    cpmc.Text = rd["产品名称"].ToString();
    string Pcpmc = cpmc.Text;
    }
    conn.Close();改成这样为什么还不行?
      

  3.   

    楼上的语法没错
    不过我看是这个问题
    修改为
    string sql_cp = "SELECT * FROM products WHERE id = "+ Request.QueryString["id"] +"";
      

  4.   

    string con = ConfigurationSettings.AppSettings["SqlConnectionString"];
    SqlConnection conn = new SqlConnection(con);
    string rq = Request.QueryString["id"];
    string sql_cp = "SELECT * FROM products WHERE id = " + rq;
    SqlCommand cmd_cp = new SqlCommand(sql_cp,conn);
    conn.Open();
    SqlDataReader rd =cmd_cp.ExecuteReader();
    if(rd.Read() == true){
    cpmc.Text = rd["产品名称"].ToString();
    string Pcpmc = cpmc.Text;
    }
    conn.Close();这样写没道理不行的,可那个cpmc.Text就是取不到值。
      

  5.   

    前一个页面的相关代码是
    <a href='ShopOnline.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id")%>'>在线订购</a>