我是一个MySQL的初学者,我正在使用Java在数据库表中插入6个项目,在这里它被称为“注册”表,我从phpMyAdmin复制/粘贴insert SQL语句,但在运行Java程序时,总是发生SQL异常。我检查了数据库,没有添加新的记录。我的数据库访问语句和异常如下所示,
QUERY: INSERT INTO `student`.`registration` (`FirstName`, `LastName`, `HomeAdd`, `PhoneNumber`, `SSN`, `BirthDate`) VALUES ('Don', 'Williaams', '560 Young St', '900-899-6756', '112-123-7637', '12-09-1980')
java.sql.SQLException: Can not issue data manipulation statements with executeQuery(). 在Java中,我编写了如下代码
String query = "INSERT INTO `student`.`registration` (`FirstName`, `LastName`, `HomeAdd`, `PhoneNumber`, `SSN`, `BirthDate`) VALUES ('" + "Don', 'Williaams', '560 Young St', '900-899-6756', '112-123-7637', '12-09-1980"+"')";
rs2 = st2.executeQuery(query);我在Java中切换insert语句,如下所示
String query = "INSERT INTO `student`.`registration` (`FirstName`, `LastName`, `HomeAdd`, `PhoneNumber`, `SSN`, `BirthDate`) VALUES ('Don', 'Williaams', '560 Young St', '900-899-6756', '112-123-7637', '12-09-1980')";异常仍然会发生,并且和以前一样
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().我的查询语句有什么问题吗?提前感谢您的帮助
苏珊
发布于 2014-08-01 21:03:30
您缺少一个结束的)。您还需要使用executeUpdate而不是executeQuery。尝试以下操作:
String query = "INSERT INTO `student`.`registration` (`FirstName`, `LastName`, `HomeAdd`, `PhoneNumber`, `SSN`, `BirthDate`) VALUES ('" + "Don', 'Williaams', '560 Young St', '900-899-6756', '112-123-7637', '12-09-1980"+"')";
rs2 = st2.executeUpdate(query);发布于 2014-08-01 21:16:25
运行以下查询,我认为在sql date格式中是yyyy-mm-dd,所以也要更改它(在这里,我希望您在创建表时指定的数据类型是date而不是varchar )
String query = "INSERT INTO student.registration (`FirstName`, `LastName`, `HomeAdd`, `PhoneNumber`, `SSN`, `BirthDate`) VALUES ('" + "Don', 'Williaams', '560 Young St', '900-899-6756', '112-123-7637', '1980-09-12"+"')";
rs2 = st2.executeUpdate(query);发布于 2014-08-01 21:19:59
Select语句的executeQuery。不能使用executeQuery运行insert语句。请改用executeUpdate。它应该可以解决这个问题。
String query = "INSERT INTO `student`.`registration` (`FirstName`, `LastName`, `HomeAdd`, `PhoneNumber`, `SSN`, `BirthDate`) VALUES ('" + "Don', 'Williaams', '560 Young St', '900-899-6756', '112-123-7637', '12-09-1980"+"')";
rs2 = st2.executeUpdate(query);https://stackoverflow.com/questions/25080881
复制相似问题