protected void Button1_Click(object sender, EventArgs e)
    {
        int id = Convert.ToInt32(Request.QueryString["lookid"]);
        OleDbConnection strConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(ConfigurationManager.AppSettings["DbPath"]));
        string sql = "update a_mulu set a_neirong=@a_neirong where id=@id";
        OleDbCommand cmd = new OleDbCommand(sql, strConn);
        cmd.Parameters.Add("@a_neirong", OleDbType.Char, 666).Value = TextBox1.Text;
        cmd.Parameters.Add("@id", OleDbType.Integer, 8).Value = id;
        strConn.Open();
        cmd.ExecuteNonQuery();
        strConn.Close();
        Response.Redirect("showmsg.aspx?msg=" + "留言回复成功。");
    }数据库a_neirong 修改不了,大家帮忙啊  Access数据库

解决方案 »

  1.   

    "update a_mulu set a_neirong=\'@a_neirong\' where id=@id";
      

  2.   

    TextBox1值不能修改a_neirong数据库里的值!
      

  3.   

    小问题。你用的是OleDB下的连接对象,而这个为了兼容各个数据库并不是使用@***做参数的,得把参数换成?做占位符号:
    string sql = "update a_mulu set a_neirong=? where id=?";
    后面在AddParameter的时候按顺序添加并且不指定名称即可。
      

  4.   

    string sql = "update a_mulu set [a_neirong]=? where [id]=?";access 不支持@  
    *****************************************************************************
    欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码) 
    http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  5.   

    没有报错,就是修改不了a_neirong项里的内容!达人帮忙啊!
      

  6.   

    直接用SQL语句不好吗干什么一定要用那 个呢,写SQL文的话还简单恩
      

  7.   

    OleDb不带@吧~~~~~~~~呵呵~顶+++++++JF~~~~~~~~~~``
      

  8.   

    string sql = "update a_mulu set a_neirong'"+TextBox1.Text+"' where id='"+id +"'";
      

  9.   

    如果确认SQL没错,是否放Access数据库文件的文件夹是对此进程只读
      

  10.   

    string sql = "update a_mulu set a_neirong'"+TextBox1.Text+"' where id='"+id +"'";
      

  11.   

    顶。用vs2005里的tableadpter啊。接分
      

  12.   

    protected void Button1_Click(object sender, EventArgs e)
        {
            int id = Convert.ToInt32(Request.QueryString["lookid"]);
            OleDbConnection strConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(ConfigurationManager.AppSettings["DbPath"]));
            string sql = "update a_mulu set a_neirong=@a_neirong where id=@id";
            OleDbCommand cmd = new OleDbCommand(sql, strConn);
            cmd.Parameters.Add("@a_neirong", OleDbType.Char, 666).Value = "3123123";
            cmd.Parameters.Add("@id", OleDbType.Integer, 8).Value = id;
            strConn.Open();
            cmd.ExecuteNonQuery();
            strConn.Close();
            Response.Redirect("showmsg.aspx?msg=" + "留言回复成功。");
        }
    这样的话  数据库里的a_neirong项=3123123  不知道怎么=TextBox1.Text里的内容!
      

  13.   

    在窗体loading时:if(!IsPostBack)
    {
    }
      

  14.   

    看看PageLoad事件中TextBox1.Text是否默认为""。给分!
      

  15.   

    if(!IsPostBack)
    {
      TextBox1.Text="3123123";//试试
    }
      

  16.   

    string strConn,strSQL;
        protected void Page_Load(object sender, EventArgs e)
        {
            int id = Convert.ToInt32(Request.QueryString["lookid"]);
            strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(ConfigurationManager.AppSettings["DbPath"]);
            OleDbConnection conn = new OleDbConnection(strConn);
            strSQL = "select * from a_mulu where id=lookid";
            OleDbCommand cmd = new OleDbCommand(strSQL,conn);
            conn.Open();
            cmd.Parameters.Add("lookid", OleDbType.Integer, 8).Value = id;
            OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.SingleRow);
            dr.Read();
            TextBox1.Text = dr["a_neirong"].ToString();
            conn.Close();
            dr.Close();
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            int id = Convert.ToInt32(Request.QueryString["lookid"]);
            OleDbConnection strConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(ConfigurationManager.AppSettings["DbPath"]));
            string sql = "update a_mulu set a_neirong=w where id=xx";
            OleDbCommand cmd = new OleDbCommand(sql, strConn);
            cmd.Parameters.Add("w", OleDbType.Char, 666).Value = TextBox1.Text;
            cmd.Parameters.Add("xx", OleDbType.Integer, 8).Value = id;
            strConn.Open();
            cmd.ExecuteNonQuery();
            strConn.Close();
            Response.Redirect("showmsg.aspx?msg=" + "留言回复成功。");
        }
    }
    全部放出,大家解决一下
      

  17.   

    当点击Button1时,首先this Page 回传server 触发 Page_Load(object sender, EventArgs e)
    事件,然后再处理的Button1_Click(object sender, EventArgs e)事件。所以每次Button1 OnClick 时 TextBox1.Text 始终等于 dr["a_neirong"].ToString(),所以数据库中 a_neirong
    列其实是更新的,只是更新的值是相同的。代码应改为:String strConn=null;
    String strSQL=null;
        protected void Page_Load(object sender, EventArgs e)
        {
          int id = Convert.ToInt32(Request.QueryString["lookid"]);
          if(!PostBack)
         {        
            strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(ConfigurationManager.AppSettings["DbPath"]);
            OleDbConnection conn = new OleDbConnection(strConn);
            strSQL = "select * from a_mulu where id=@lookid";
            OleDbCommand cmd = new OleDbCommand(strSQL,conn);
            conn.Open();
            cmd.Parameters.Add("@lookid", OleDbType.Integer, 8).Value = id;
            OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.SingleRow);
            dr.Read();
            TextBox1.Text = dr["a_neirong"].ToString();
            dr.Close();
            conn.Close();
          }
        }