这段代码哪错了?
为什么更新失败?
大家看看~
protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            string id = Request.QueryString["id"];
            //设置数据库链接字符串
            string connectionString = WebConfigurationManager.ConnectionStrings["Pubs"].ConnectionString;
            SqlConnection conn = new SqlConnection(connectionString);//定义SQL连接
            string strUpdate = "UPDATE yuanxiao SET yxname = @yxname, yxnum = @yxnum, fenlei = @fenlei, tel = @tel, jianjie = @jianjie" + "WHERE id = @id";
            SqlCommand cmdUpdate = new SqlCommand(strUpdate, conn); 
            cmdUpdate.Parameters.Add("@id", id);
            cmdUpdate.Parameters.Add("@yxname", TextBox1.Text);
            cmdUpdate.Parameters.Add("@yxnum", TextBox2.Text);
            cmdUpdate.Parameters.Add("@fenlei", TextBox3.Text);
            cmdUpdate.Parameters.Add("@tel", TextBox4.Text);
            cmdUpdate.Parameters.Add("@jianjie", WQTextBox1.Text);
            conn.Open();
            cmdUpdate.ExecuteNonQuery();//向数据库提交
            conn.Close();
            Response.Redirect("yuanxiaoguanli.aspx");//防止重复提交可跳转到另一个页面。
        }
        catch
        {
            Response.Write("<script language='javascript'>alert('修改失败!') </script>");
        }

解决方案 »

  1.   

     string strUpdate = "UPDATE yuanxiao SET yxname = @yxname, yxnum = @yxnum, fenlei = @fenlei, tel = @tel, jianjie = @jianjie" + "WHERE id = @id";
    where前面加个空格
      

  2.   

    UPDATE yuanxiao SET yxname = @yxname, yxnum = @yxnum, fenlei = @fenlei, tel = @tel, jianjie = '1'WHERE id = @id
    你sql会变成这样的。语法错误了。肯定是执行不了的。
      

  3.   

    cmdUpdate.Parameters.Add("@id", id); 
                cmdUpdate.Parameters.Add("@yxname", TextBox1.Text); 
                cmdUpdate.Parameters.Add("@yxnum", TextBox2.Text); 
                cmdUpdate.Parameters.Add("@fenlei", TextBox3.Text); 
                cmdUpdate.Parameters.Add("@tel", TextBox4.Text); 
                cmdUpdate.Parameters.Add("@jianjie", WQTextBox1.Text); 
    你数据库的参数全部都是string类型的?
    最好把参数类型也写对。
      

  4.   

    cmd.Parameters.Add("@querytype", System.Data.SqlDbType.Int).Value = querytype;
      

  5.   

    System.Data.SqlDbType.Int数据类型没有
      

  6.   

    try
                {
                    string id = Request.QueryString["id"];
                    //设置数据库链接字符串 
                    string connectionString = WebConfigurationManager.ConnectionStrings["Pubs"].ConnectionString;                using (SqlConnection conn = new SqlConnection(connectionString)) //定义SQL连接 
                    {
                        conn.Open();                    string strUpdate = "UPDATE YUANXIAO SET "
                            + "YXNAME = @YXNAME, YXNUM = @YXNUM, "
                            + "FENLEI = @FENLEI, TEL = @TEL,"
                            + "JIANJIE = @JIANJIE "
                            + "WHERE ID = @ID";
                        SqlCommand cmdUpdate = new SqlCommand(strUpdate, conn);
                        cmdUpdate.Parameters.AddWithValue("id", id);
                        cmdUpdate.Parameters.AddWithValue("yxname", TextBox1.Text);
                        cmdUpdate.Parameters.AddWithValue("yxnum", TextBox2.Text);
                        cmdUpdate.Parameters.AddWithValue("fenlei", TextBox3.Text);
                        cmdUpdate.Parameters.AddWithValue("tel", TextBox4.Text);
                        cmdUpdate.Parameters.AddWithValue("jianjie", WQTextBox1.Text);
                        cmdUpdate.ExecuteNonQuery();//向数据库提交 
                    }
                    Response.Redirect("yuanxiaoguanli.aspx");//防止重复提交可跳转到另一个页面。 
                }
                catch
                {
                    Response.Write("<script language='javascript'>alert('修改失败!') </script>");
                }
      

  7.   

    WHERE id = @id
    参数类型也改好。。
    你这样写就全是字符串类型了。。
    update …… where id='1'
    你觉得会更新成功么~~~
    你id本来是int的
      

  8.   

     cmd.Parameters.Add("id", );
                cmdUpdate.Parameters.Add("@yxname", SqlDbType.VarChar); 
                cmdUpdate.Parameters.Add("@yxnum", SqlDbType.VarChar); 
                cmdUpdate.Parameters.Add("@fenlei", SqlDbType.VarChar); 
                cmdUpdate.Parameters.Add("@tel", SqlDbType.VarChar); 
                cmdUpdate.Parameters.Add("@jianjie", SqlDbType.VarChar); cmd.Parameters[0].Value = id;
    cmd.Parameters[1].Value = Text1.Text;
    cmd.Parameters[2].Value = Text2.Text;
    cmd.Parameters[3].Value = Text3.Text;
    cmd.Parameters[4].Value = Text4.Text;
    cmd.Parameters[5].Value = Text5.Text;视你的情况稍改下。
      

  9.   

    这个该怎么改呢?
    我是用这个string id = Request.QueryString["id"];
    获得的ID
      

  10.   

    int id=int.parse(Request.QueryString["id"].ToString())
      

  11.   

    protected void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                int id = int.Parse(Request.QueryString["id"].ToString());
                //设置数据库链接字符串
                string connectionString = WebConfigurationManager.ConnectionStrings["Pubs"].ConnectionString;
                SqlConnection conn = new SqlConnection(connectionString);//定义SQL连接
                string strUpdate = "UPDATE yuanxiao SET yxname = @yxname, yxnum = @yxnum, fenlei = @fenlei, tel = @tel, jianjie = @jianjie WHERE id = id";
                SqlCommand cmdUpdate = new SqlCommand(strUpdate, conn);            cmdUpdate.Parameters.Add("@yxname", TextBox1.Text);
                cmdUpdate.Parameters.Add("@yxnum", TextBox2.Text);
                cmdUpdate.Parameters.Add("@fenlei", TextBox3.Text);
                cmdUpdate.Parameters.Add("@tel", TextBox4.Text);
                cmdUpdate.Parameters.Add("@jianjie", WQTextBox1.Text);            conn.Open();
                cmdUpdate.ExecuteNonQuery();//向数据库提交
                conn.Close();
                Response.Redirect("yuanxiaoguanli.aspx");//防止重复提交可跳转到另一个页面。
            }
            catch
            {
                Response.Write("<script language='javascript'>alert('修改失败!') </script>");
            }
        }
      

  12.   

    string strUpdate = "UPDATE yuanxiao SET yxname = @yxname, yxnum = @yxnum, fenlei = @fenlei, tel = @tel, jianjie = @jianjie WHERE id = id";
    你sql出问题了啊
    string strUpdate = "UPDATE yuanxiao SET yxname = @yxname, yxnum = @yxnum, fenlei = @fenlei, tel = @tel, jianjie = @jianjie WHERE id = @id";
    你写的sql相关于
    update ……无条件或者条件是where 1=1
      

  13.   

    我生啥气啊~~~细节问题我自己刚开始的时候也老范啊。
    实际上使用一下debug再使用一下数据库的事件查探器。一般问题都解决了~