请大家帮帮忙,这个插入语句哪里错了,cmd3不能执行SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString);
        
        con.Open();
        string jname = "select jname from journal where jstate='建设中'";
        SqlCommand cmd4 = new SqlCommand("select * from lanmu where jname=(" + jname + ") and lname=@lname", con);
        cmd4.Parameters.AddWithValue("@lname", tname.Text);
       
        SqlDataReader dr = cmd4.ExecuteReader();
        if (dr.Read())
        {
            Response.Write("<script>alert('此栏目已存在!')</script>");
        }
        else
        {            if (this.tname.Text.Trim() == "")
            {
                Response.Write("<script>alert('栏目名称不能为空!')</script>");
            }            else
            {
                dr.Close();
                con.Close();
                string lname = this.tname.Text.Trim();
                con.Open();
                SqlCommand cmd3 = new SqlCommand("insert lanmu(jname,lname) values('" + jname + "','" + lname + "')", con);
                //cmd3.Parameters.AddWithValue("@jname", jname); 
                //cmd3.Parameters.AddWithValue("@lname", tname.Text);
                
                cmd3.ExecuteNonQuery();
                con.Close();
                bandgrid();

解决方案 »

  1.   

    con.Close();//这里关了你打算让它自己开? 
      

  2.   

     con.Close(); 
     bandgrid();
      

  3.   

    string jname = "select jname from journal where jstate='建设中'"; 
     SqlCommand cmd3 = new SqlCommand("insert lanmu(jname,lname) values('" + jname + "','" + lname + "')", con); 又遇到这样写的,你觉得能执行吗???
      

  4.   

    SqlConnection con1111 = new SqlConnection(WebConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString); 重新定义个,不要用同一个。
      

  5.   

    cmd3.ExecuteNonQuery();  应该是cmd3.ExecuteScalar() 方法
      

  6.   

    楼主,你同样的代码我试过了,在
    我的机器是完全可以执行通过的,成功插入数据!
    不过需要注意:
       SqlCommand cmd4 = new SqlCommand("select * from lanmu where jname=(" + jname + ") and lname=@lname", con);  这里的jname=(" + jname + ") 加上‘吧 -》 jname=('" + jname + "') 另外cmd4.Parameters.AddWithValue("@lname", tname.Text); 
    而你下边使用的是string lname = this.tname.Text.Trim();  再有可能就是你的bandgrid();是不是刷新对了,实际打开数据库看看!!