一直提示我update语句有错,到底错哪里,我真不知道,想了很久了,高手们帮忙看看!谢谢            OleDbConnection acccon = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("bfjDb/bfj.mdb").ToString());
            string Updatecmd = "update connection set C_information='" + FCKeditor1.Value.ToString() + "' where CID=" + 1;
            OleDbCommand acccomm = new OleDbCommand(Updatecmd, acccon);
            acccon.Open();
            acccomm.ExecuteNonQuery();
            acccon.Close();

解决方案 »

  1.   

    string Updatecmd = "update connection set C_information='" + FCKeditor1.Value.ToString() + "' where CID=" + 1;
    ==
    单步调试到这里,看看生成的Updatecmd是否正确,在数据库里执行一下,看报什么错
      

  2.   

    把Updatecmd 的结果放到access中去运行一下,数据库系统的开发不只是些代码,还要会调试脚本
      

  3.   

    会生成这样的update connection set C_information='
    sdfasdfdfasdfsdfdf' where CID=1 
      

  4.   

    提示的错误如下:
    System.Data.OleDb.OleDbException: UPDATE 语句的语法错误。 在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr) 在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) 在 System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) 在 System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) 在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) 在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery() 在 connection_admin.Button2_Click(Object sender, EventArgs e) 位置 c:\Inetpub\wwwroot\WebSite1\connection_admin.aspx.cs:行号 28 
      

  5.   

    如果在Access里测试没有错误,在关闭你的数据库的情况下,再次运行你的程序看报什么错误
      

  6.   

    你如果你排除了一切由你的程序代码等造成的错误的话.请看看你的数据库文件 (access文件) 是否有读写权限
      

  7.   

    FCKeditor1.Value.ToString()  可能有特殊字符,如 \n (换行符) 之类的
      

  8.   

    把UPDATE 的语句拼出来,看是不是少符号还是少空格.
      

  9.   

    string Updatecmd = "update [connection] set [C_information]='" + FCKeditor1.Value.ToString() + "' where CID=" + 1;
      

  10.   

    改正一下:
    string Updatecmd = "update [connection] set [C_information]='" + FCKeditor1.Value.ToString() + "' where [CID]=" + 1;
      

  11.   

    Access不同于Sql-server,有的语句在Access 的查询分析器里面执行没有问题,但在程序里面执行就会报错![]跟在Sql-Server里的用法是一样的,就是用来区分关键字的,比如如果User是关键字的话,你直接在语句里面用user就会报错,要用[]括起来,就把这个词的关键字属性给去掉了。
    你的语句里面,我估计connection是个关键字,你这样写应该也没有问题
    string Updatecmd = "update [connection] set C_information='" + FCKeditor1.Value.ToString() + "' where CID=" + 1;