executeQuery是专门用于执行sql查询的方法,从你的sql来开不是查询,而是执行的见表和插入语句,这种 *** 作应该使用executeUpdate方法,同时不要把见表语句和insert语句拼成一个整个的语句去执行,这种方式在数据库直接执行ok没问题,但通过代码走api调用是会出问题的,请使用sql批量执行
用PreparedStatement提供的addBatch()方法吧你要执行的sql一条条添加到批处理中,然后整个批量executeUpdate
此时executeUpdate返回的是int类型的数据,是当前sql执行之后影响到的数据库数据条数
检查sql语句的语法 ,运行环境:
mysql-connector-java-3.1.12-bin.jar
sqljdbc4.jar(与此jar无关)
运行结果:
java.sql.SQLException: Incorrect arguments to mysql_stmt_execute
如果使用高版本的mysql jar包,则没有问题,比如
mysql-connector-java-5.1.39-bin.jar
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)