[英]Java & HSQLDB INSERT TO problem
I've a problem when I try to insert data into a hsqldb with a Java class : The code is : 当我尝试使用Java类将数据插入到hsqldb中时遇到问题:代码为:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.ParseException;
public class Main {
public static void main(String[] args) throws ParseException {
try {
Connection con = null;
String url = "jdbc:hsqldb:file:../db/db";
Class.forName("org.hsqldb.jdbcDriver");
con = DriverManager.getConnection(url, "sa", null);
Statement statement = con.createStatement();
Statement stm1 = con.createStatement();
statement.executeUpdate("INSERT INTO \"vacDeGroupe\"(\"type\") VALUES ('test')");
ResultSet rs = stm1.executeQuery("SELECT * FROM \"vacDeGroupe\"");
while(rs.next()) {
System.out.println(rs.getString("type"));
}
stm1.close();
statement.close();
con.close();
}
catch(ClassNotFoundException e) {
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
If I exec this code I have my entries + the new I have INSERT INTO my database. 如果我执行此代码,则将输入我的条目,然后输入新的将INSERT INTO到数据库中。 But, after if I only do the executeQuery(), the row I have insert is not in my database. 但是,如果仅执行executeQuery(),插入的行就不在数据库中。 I've checked, autoCommit is on true. 我已经检查过,autoCommit是正确的。
... I don't understand what's happened. ...我不明白发生了什么。
(I'm french so I'm sorry if there is some english errors) (我是法国人,如果英语出现错误,我们将深表歉意)
executeUpdate
for INSERT, not executeQuery
. 对于INSERT,不是executeQuery
executeUpdate
。 And it does not return a ResultSet
; 并且它不返回ResultSet
; it's number of affected rows. 它是受影响的行数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.