Java 爪哇及;HSQLDB插入到问题
当我尝试使用Java类将数据插入hsqldb时,我遇到了一个问题: 代码是:Java 爪哇及;HSQLDB插入到问题,java,insert,hsqldb,Java,Insert,Hsqldb,当我尝试使用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 {
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();
}
}
}
如果我执行此代码,我会将我的条目+我已插入的新条目插入到我的数据库中。
但是,如果只执行executeQuery(),则插入的行不在数据库中。
我查过了,自动提交是真的
。。。我不明白发生了什么事
(我是法国人,如果有一些英文错误,我很抱歉)
executeUpdate
用于插入,而不是executeQuery
。并且它不返回结果集
;这是受影响的行数。谢谢,我已经改变了这一点,但这只是在我的测试中引入的一个错误,以找出它不起作用的原因。问题仍然是一样的:当我执行“insert to”和它工作的executeQuery时,我可以读取我插入的新行,但当(在我执行代码插入该行之后)我只执行executeQuery时,我有所有表,没有我之前插入的行。所以我认为在插入表格的过程中出现了问题,但我不明白在哪里以及为什么。。。我希望你能理解这个问题。好吧,最后我在另一篇文章中找到了答案:我必须用两个选项启动连接:hsqldb.write_delay=false shutdown=true,所以我将它们添加到我的字符串url:String url=“jdbc:hsqldb:file:../db/db;hsqldb.write_delay=false;shutdown=true”;而且它有效!