用PreparedStatement传入参数试试。

解决方案 »

  1.   

    如果是sql server
    可以把JTextField输入的字串中的‘转换为'''
      

  2.   

    你这样做肯定为空,你把JTextField txtID = new JTextField()设成STATIC的。String mn=txtID.getText();String sql="insert into tablename values('"+mn+"',,,,,,,)";这样就可以了。
      

  3.   

    楼上的这位兄弟,我按你的说法去做了,不可以。还是同样的错误。
     crm2000(浏览器) 这位朋友,我把对数据库的操作都封装到一个类里面了,所以不可以用PreparedStatement的。因为对数据库的操作有好多,所以才封装的。
    还有什么别的办法么?
      

  4.   

    把JTextField txtID = new JTextField()设成STATIC的。String mn=txtID.getText();String sql="insert into tablename values('"+mn+"',,,,,,,)";
    没错的!!
      

  5.   

    将SQL修改成这样就可以了
    insert into tablename(列名) values('"+mn+"');
    剩下的列如果不插入,你就不用在INSERT语句中写列名和赋值。最好在数据库中设置相关列的默认值。