JDBC SQL Server:插入后不显示行

时间:2012-06-20 09:25:16

标签: java sql-server jdbc insert

我正在尝试使用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();
        }
    }

此致 努诺。

2 个答案:

答案 0 :(得分:4)

你没有做出改变。

您必须在conn.commit()

之后致电stmnt.execute(query);

答案 1 :(得分:1)

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