简体   繁体   English

Java和HSQLDB INSERT TO问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM