执行查询语句是用的executeQuery(sql);而进行插入的时候应该用executeUpuate(sql)或者execute(sql);你怎么都用了executeQuery(sql);啊.

解决方案 »

  1.   

    rs=stmt.executeQuery("insert into table (xx) values ('xx')");
    ---------
    应该用executeUpdate().
    插入一行是不会返回记录集rs的.
      

  2.   

    数据更新是要用executeUpdate()的
      

  3.   

    楼主,问题应该解决了吧,这executeUpdate()是没有返回值的
      

  4.   

    rs=stmt.executeQuery("insert into table (xx) values ('xx')");这个就有问题...
    如果rs为ResultSet类型,查询当然没问题,但用于插入记录就不行了.
      

  5.   


    还有一点就是它的返回值不是ResultSet,而是int,表示插入的行数,在数据库中显示为所影响的行数是多少行
      

  6.   

    rs=stmt.executeQuery("insert into table (xx) values ('xx')");其实这个是可以,只是在下比较初学,开始一直这样,还要定义一个RESULTSET。很麻烦,现在不会拉,用stmt.executeUpdate()就不用RS了。还有问题已解决了,问题就在于管理员在服务器上建表时用了导入数据,而没有对ID号进行自动编号设置(原本是自动编码加一的),TMM的笨管理员还一直骂我程序编写不正确,现在好了,真相大白,哈哈,感谢大家