MySQl,无法从Java向表中插入数据

时间:2014-08-01 13:00:57

标签: mysql

我是MySQL的初学者,我使用Java将6个项目插入到数据库表中,在这里它称为“注册”表,我从phpMyAdmin复制/粘贴了插入SQL语句,但是在运行Java程序时,它总是SQL异常发生了。我检查了数据库,没有添加新记录。我的db访问语句和异常如下,

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().

我的查询语句有问题吗? 提前感谢您的帮助

苏珊

3 个答案:

答案 0 :(得分:0)

您错过了结束)。您还需要使用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);

答案 1 :(得分:0)

运行以下查询,我认为在sql日期格式为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);

答案 2 :(得分:0)

对于executeQuery声明,

Select。您无法使用executeQuery运行插入语句。请改用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);