语句如下:
              string strSql = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Test.mdb";
            string sql = "Insert Into Name(Name,Password) values('zhang','1234')";
            OleDbConnection oleDBConn;
            OleDbCommand oleDBComm;
            oleDBConn= new OleDbConnection (strSql);
            oleDBConn.Open ();
            oleDBComm = new OleDbCommand (sql, oleDBConn);
            oleDBComm.ExecuteNonQuery ();
            oleDBConn.Close ();Insert Into Name(Name,Password) values('zhang','1234')在Access2003可以正确执行,但是在C#中执行到oleDBComm.ExecuteNonQuery ();这句时就报Insert Into 语法错误,实在搞不懂了?请各位大侠指点一下。

解决方案 »

  1.   

    Insert Into [Name]([Name],Password) values('zhang','1234')试试
      

  2.   

    name是Access的关键字,需要用[]括起来。
      

  3.   

    真烂的Access及Access关键字
    以前做数据库开发一直使用SQL Server和MySQL来开发,有比较好的工具,通常遇到关键字会以变色字体演示,一般到也不会出现什么问题,最近做一个小东东,想尝试一下Access,经常是在直接用SQL语句查询没有问题,一到程序里面就不行了,动不动就报“IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。”这个错误,查了半天才知道是因为使用了Access的关键字。为了避免大家犯同样的错误,现将Access的关键字列出来,如果以后在编程中你遇到了同样的错误,请看看是否使用了Access的关键字。
      

  4.   

    那个name是access的关键字,你需要使用[]
    string sql = "Insert Into [Name]([Name],Password) values('zhang','1234')"; 呵呵,下次再access写得东西如果开头变成大写了,要注意哈
      

  5.   

    我想这就是关键字的问题,还有就是要引用控件text属性时要加''单引号