0

我正在尝试使用 JDBC 驱动程序在 SQL Server 上插入行。

该查询适用于 SQL Server,我可以看到该行。

但是,在我的代码中,我没有收到任何错误,但没有出现该行。

更奇怪的是,我的自动增量字段增加了,即假设我的自动增量字段的值为 3,我运行我的代码,什么也没有出现。我在 SQLServer 上运行查询,新行的值为 5。

    String query = "insert into SSSI_ADMIN.NBSIUSER(UserName,UserDomain) values('test4','domain4')";
    Statement stmnt = null;

    String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    try {
        Class.forName(driver);
        String url = "jdbc:sqlserver://dt112654:1433;databaseName=SIBD;user=u;password=*****";
        Connection conn = DriverManager.getConnection(url);


        conn.setAutoCommit(false);
        stmnt = conn.createStatement();

        stmnt.execute(query);
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } finally {
        if ( stmnt != null)
        {
            stmnt.close();
        }
    }

问候,努诺。

4

2 回答 2

4

你没有提交你的改变。

你必须打电话conn.commit()stmnt.execute(query);

于 2012-06-20T09:27:50.930 回答
1

因为这是代码“conn.setAutoCommit(false);”;一种方法是“conn.setAutoCommit(true)”或删除此代码“conn.setAutoCommit”;另一种方法是在执行查询后添加另一个代码“conn.commit()”。

于 2012-06-20T09:32:32.733 回答