我正在尝试使用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();
}
}
此致 努诺。
答案 0 :(得分:4)
你没有做出改变。
您必须在conn.commit()
stmnt.execute(query);
答案 1 :(得分:1)
因为这是代码“conn.setAutoCommit(false);”;执行此操作的一种方法是“conn.setAutoCommit(true)”或删除此代码“conn.setAutoCommit”;另一种方法是在执行查询后,你应该添加另一个代码“conn.commit()”。