con.Open();
                OleDbCommand com = new OleDbCommand("update SW_News set newscontent=@newscontent where newsid=@newsid", con);
                com.Parameters.Add("@newsid", OleDbType.Integer);
                com.Parameters.Add("@newscontent", OleDbType.LongVarChar);
                com.Parameters["@newscontent"].Value = WebEditor1.Text;
                com.Parameters["@newsid"].Value = Request["id"];
                com.ExecuteNonQuery();
                Response.Write("<script>alert('修改成功')</script>");
每次都可以顺利执行,并且弹出修改成功的对话框,但数据库内容就根本无改变!!!

解决方案 »

  1.   

    第一,你con连接的数据库是否和你的看的数据相同?
    第二:
    //代码改成
    int i=com.ExecuteNonQuery();
    //如果i=1,则修改成功,i=0,则修改失败.
    第三:你是的代码是否还有加上事务?事务是否commit?
      

  2.   

    你最好看一下Request["id"]的值是不是你想要的~Request.QueryString["id"]
      

  3.   

    代码修改为
    con.Open();
                    OleDbCommand com = new OleDbCommand("update SW_News set newscontent=@newscontent where newsid=@newsid", con);
                    com.Parameters.Add("@newscontent", OleDbType.LongVarChar);
                    com.Parameters["@newscontent"].Value = WebEditor1.Text;
                    com.Parameters.Add("@newsid", OleDbType.Integer);
                    com.Parameters["@newsid"].Value = Request["id"];
                    com.ExecuteNonQuery();
                    Response.Write("<script>alert('修改成功')</script>");
    肯定可以,access在添加参数的时候要与sql的参数顺序一致
    JF
      

  4.   

    Request.QueryString["id"]这个是没有问题的,但不明白为什么每次都提示成功却没有修改数据库!
    con连接字符串也没有问题!
      

  5.   

    Access 中sql参数跟名称相对应,@newscontent不是表的列,所以认为是一个参数,你把他改成这样,肯定可以的
    "update SW_News set newscontent=a where newsid=b"
                    com.Parameters.Add("@newscontent", OleDbType.LongVarChar);
                    com.Parameters["@newscontent"].Value = WebEditor1.Text;
                    com.Parameters.Add("@newsid", OleDbType.Integer);
                    com.Parameters["@newsid"].Value = Request["id"];