protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack)
        {
           TextBox1.Text= Session["password"].ToString();
           TextBox2.Text = Session["Nickname"].ToString();
           TextBox3.Text = Session["Birthday"].ToString();
           TextBox4.Text = Session["Education"].ToString();
           TextBox5.Text = Session["Title"].ToString();
           TextBox6.Text = Session["Post"].ToString();
           TextBox7.Text = Session["Unit"].ToString();
           TextBox8.Text = Session["OfficePhone"].ToString();
           TextBox9.Text = Session["Fax"].ToString();
           TextBox10.Text = Session["Email"].ToString();
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            string str = "Provider=Microsoft.Jet.OleDb.4.0;";
            str += @"Data Source=" + Server.MapPath("~/App_Data/hxqlorg.mdb");
            string UpdateStr = "Update member SET password='" + TextBox1.Text + "',Nickname='" + TextBox2.Text + "',Birthday='" + TextBox3.Text + "', Education='" + TextBox4.Text + "', Title='" + TextBox5.Text + "', Post='" + TextBox6.Text + "',Unit='" + TextBox7.Text + "',OfficePhone='" + TextBox8.Text + "',Fax='" + TextBox9.Text + "',Email='" + TextBox10.Text + "' WHERE Name='" + Session["Name"].ToString() + "'";
            OleDbConnection con = new OleDbConnection(str);
            //尽可能晚的打开连接,尽早的关闭连接
            con.Open();
            OleDbCommand com = new OleDbCommand(UpdateStr, con);
            int a = com.ExecuteNonQuery();
            if (a > 0)
            {
                Response.Write("<script>alert('更新成功!!')</script>");
            }
        }catch(Exception ex)
        {
            Response.Write(ex.ToString());
        }
    }执行的时候说我Update语句语法错误

解决方案 »

  1.   

    把你的SQL调试的时候复制到查询分析器里看看那里出错误了。我检测过语法没有错误
      

  2.   

    他就给我报Update语句语法错误,我放查询分析器里看也没错,这个郁闷啊
      

  3.   

    把拼接的sql语句打出来
    copy到Access的查询里执行下  看什么地方出问题了
      

  4.   

    在SQL语名中尽可能的不要用这种名称如:password 之类的,你把你的password改成其他的试试
      

  5.   

    protected void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                string str = "Provider=Microsoft.Jet.OleDb.4.0;";
                str += @"Data Source=" + Server.MapPath("~/App_Data/hxqlorg.mdb");
                string UpdateStr = "Update member SET password='" + TextBox1.Text + "',Nickname='" + TextBox2.Text + "',Birthday='" + TextBox3.Text + "', Education='" + TextBox4.Text + "', Title='" + TextBox5.Text + "', Post='" + TextBox6.Text + "',Unit='" + TextBox7.Text + "',OfficePhone='" + TextBox8.Text + "',Fax='" + TextBox9.Text + "',Email='" + TextBox10.Text + "' WHERE Name='" + Session["Name"].ToString() + "'";
                OleDbConnection con = new OleDbConnection(str);
                //尽可能晚的打开连接,尽早的关闭连接
                con.Open();
                OleDbCommand com = new OleDbCommand(UpdateStr, con);
                int a = com.ExecuteNonQuery();
                if (a > 0)
                {
                    Response.Write(" <script>alert('更新成功!!') </script>");
                }
            }catch(Exception ex)
            {            
                string tempex=ex.ToString();
                Response.Write(ex.ToString());//在此行设置断点,看tempex的具体内容。
            }
        } 
      

  6.   

    全用Session 太夸张了吧
    是不是服务器 内存是1T的我也就是知道硬盘刚有1T的 ,弄个用户名密码放里面算是大方的了
      

  7.   

    response.write UpdateStr 写出来看看到底语句错在哪里
      

  8.   

    调试下。跟踪那SQL语句看下不就知道了。估计是符号和值的问题.
      

  9.   

    没时间仔细看,不过建议你先检查下单双引号,还有就是要对一些关键词敏感 像member password等还是少用为妙。
      

  10.   

    用的access数据库,以前我写更新新闻的时候也遇到过,我也在查询分析器里试过,也没有问题我就在sql字符串最后一个列名前写了个 and 列名 =value,然后就行了,奇怪的很