首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQl,无法从Java向表中插入数据

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

Stack Overflow用户
提问于 2014-08-01 21:00:57
回答 3查看 123关注 0票数 0

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

代码语言:javascript
复制
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中,我编写了如下代码

代码语言:javascript
复制
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语句,如下所示

代码语言:javascript
复制
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')";

异常仍然会发生,并且和以前一样

代码语言:javascript
复制
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().

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

苏珊

EN

回答 3

Stack Overflow用户

发布于 2014-08-01 21:03:30

您缺少一个结束的)。您还需要使用executeUpdate而不是executeQuery。尝试以下操作:

代码语言:javascript
复制
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);
票数 0
EN

Stack Overflow用户

发布于 2014-08-01 21:16:25

运行以下查询,我认为在sql date格式中是yyyy-mm-dd,所以也要更改它(在这里,我希望您在创建表时指定的数据类型是date而不是varchar )

代码语言:javascript
复制
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);
票数 0
EN

Stack Overflow用户

发布于 2014-08-01 21:19:59

Select语句的executeQuery。不能使用executeQuery运行insert语句。请改用executeUpdate。它应该可以解决这个问题。

代码语言:javascript
复制
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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25080881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档