是你的SQL语句的问题吧?
insert into tabMsg(字段1,字段,字段3,字段) values(?,?,?,?)
其中字段i对应后面的插入的值?

解决方案 »

  1.   

    把pstm=con.prepareStatement("insert into tblMsg values(?,?,?,?)");
    改成
    pstm=con.prepareStatement("insert into tblMsg(字段1,字段2,字段3,字段4) values(?,?,?,?)");
    其中:字段1,字段2,字段3,字段4分别是要插入的四个字段的字段名
      
      

  2.   

    我按照你们的意思做了,但还是报错,我是这样写的:
    PreparedStatement pstm=null;
      pstm=con.prepareStatement("insert into tblMsg(from,to,title,content) values(?,?,?,?)");
      pstm.setString(1,this.from);
      pstm.setString(2,this.to);
      pstm.setString(3,this.title);
      pstm.setString(4,this.content);
      pstm.executeUpdate();
    //from,to,title,content是字段名
    错误信息:
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access  驱动程序] INSERT INTO 语句的语法错误。
    //-----------------------------------------------------------------
    同样这段语句,我只要将自动编号字段删除,程序就可以正常运行!
      

  3.   

    我曾经类似用过SQL Server数据库没有这个问题
      

  4.   

    insert into tblMsg(from,to,title,content) values(?,?,?,?)");
    很明显写错了呀,里面有个括号是全角的了,
    insert into tblMsg(from,to,title,content) values(?,?,?,?)");
    这样才对吧
      

  5.   

    to  realyfly(含泪海):
      是输入的时候失误,在源程序中没输错!
      

  6.   

    pstm.setString(1,this.from);
      pstm.setString(2,this.to);
      pstm.setString(3,this.title);
      pstm.setString(4,this.content);
    这里面的this.from,this.to,this.title,this.content都是什么呀
      

  7.   

    to realyfly(含泪海):
     this.from,this.to,this.title,this.content//是类中的属性.
    为了区分表中的字段,所以写成这样的形式.当然不要this. 也可以.
      

  8.   

    要不你这样试一下
    insert into tblMsg values(,?,?,?,?)看看什么效果
      

  9.   

    还是说:INSERT INTO 语句的语法错误。
      

  10.   

    OK,搞定了.
    to realyfly(含泪海) :
      谢谢您!表tblMsg中字段名和类中的属性名相同导致的错误!
    真没想到,是这样的错误!!