跟踪一下,看看string sql里到底是什么
拷贝出来到 sql管理器下 执行

解决方案 »

  1.   

    如果你的数据库用的是SQL Server的话,建议你用.Net专门为SQL Server设计的类。
    即把OleDbConnection改为SqlConnection,把OleDbCommand改为SqlCommand。
      

  2.   

    string sql = "INSERT INTO book(name,sex,subject,memo)"+
    "VALUES (  '"+name+"','"+sex+"','"+subject+"','"+memo+"')";
    到底语法错误在那里啊?我后来用了另外的方法,改用DataSet和OleDbDataAdapter,用OleDbDataAdapter的updata是可以插入数据了。但我还是想知道第一种到底要怎样做。
      

  3.   

    string sql = "INSERT INTO book(name,sex,subject,memo)"+
    "VALUES (  '"+name+"','"+sex+"','"+subject+"','"+memo+"')";
    看不出有什么错!
      

  4.   

    你的sql字符串在查询分析器里能执行吗?
      

  5.   

    System.Data.OleDb.OleDbCommand.ExecuteNonQuery()出错,再上来就到:new OleDbCommand( sql ,myconn);再上:string sql = "INSERT INTO book(name,sex,subject,memo)"+
    "   VALUES (  '"+name+"','"+sex+"','"+subject+"','"+memo+"')";values前面要有空格,否则,变成了.....book(name,sex,subject,memo)values.....所以就出错了~~
      

  6.   

    string sql = "INSERT INTO book(name,sex,subject,memo) VALUES ( '"+name+"','"+sex+"','"+subject+"','"+memo+"')";
    没用啊!兄弟们,在帮忙啊!
      

  7.   

    你不要这样打印出来
    你在这条语句上设置一个断点,然后在本地窗口中察看sql的值,看它到底是什么。然后把它Copy到Sql Server的查询分析器上面运行一下看看。
    你光看这条语句是看不出问题的。
      

  8.   

    问题已经解决!
    表名加[]
    string sql = "INSERT INTO [book](name,sex,subject,memo) VALUES ( '"+name+"','"+sex+"','"+subject+"','"+memo+"')";看一下,马上结贴拉!