gpt4 book ai didi

java和ms Access 插入sql不起作用

转载 作者:行者123 更新时间:2023-12-01 14:48:04 25 4
gpt4 key购买 nike

我有 2 个问题。

  1. 下面的 INSERT 查询不会在 msAccess 数据库中插入记录。有人可以解释为什么会发生这种情况以及我该如何解决它吗?我用双引号替换了单引号,但这也没有帮助。

  2. 在下面的代码中,只执行了 1 个查询,第一个查询,其余的都被跳过。我每次都必须评论以前的查询并重新编译以执行下一个查询。还有其他方法可以做到这一点吗?

    try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection conn=null;
    conn= DriverManager.getConnection("jdbc:odbc:SS");
    Statement s;
    s=conn.createStatement();
    ResultSet rs;
    rs=s.executeQuery("drop table users");
    rs=s.executeQuery("CREATE TABLE users ( id AUTOINCREMENT, username varchar(255) , pass varchar(255), PRIMARY KEY(id) ) ");
    rs=s.executeQuery(" insert into users (username, pass) values( 'name1', 'pass1') ");
    rs=s.executeQuery(" insert into users (username, pass) values( 'name2', 'pass2') ");
    } catch (SQLException ex) {
    ex.printStackTrace();
    } catch(Exception ee) {
    ee.printStackTrace();
    }

最佳答案

不涉及 ResultSet,因为您不进行任何查询,您应该只执行更新。如果您像这样更改代码,您的程序应该可以运行:

Connection conn=null;
Statement s=null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:SS");
s = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
s.executeUpdate("drop table users");
s.executeUpdate("CREATE TABLE users ( id AUTOINCREMENT, username varchar(255) , pass varchar(255), PRIMARY KEY(id) ) ");
s.executeUpdate("insert into users (username, pass) values( 'name1', 'pass1') ");
s.executeUpdate("insert into users (username, pass) values( 'name2', 'pass2') ");
} catch (SQLException ex) {
ex.printStackTrace();
} catch (Exception ee) {
ee.printStackTrace();
} finally {
try {
conn.close();
s.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}

请注意,为了插入数据库表,您应该创建传递适当参数的语句。

另一个重要的一点是,当您完成时,您应该始终关闭连接、语句和结果集。当您关闭连接时,第二个插入将被刷新到数据库表中。

关于java和ms Access 插入sql不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15197013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com