【发布时间】:2014-10-31 13:15:26
【问题描述】:
我正在使用 MySQL 数据库,我有一个表 Employee 有 2 列:Id(整数;主键)和 Name(字符串)。我已经编写了一些代码来在Employee 表中插入一行,但是acceptChanges 不起作用并且代码在acceptChanges 处停止。代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.sql.rowset.CachedRowSet;
import javax.sql.rowset.RowSetFactory;
import javax.sql.rowset.RowSetProvider;
public class InsertSynchronizer {
static CachedRowSet crs = null;
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/", "root", "");
c.setAutoCommit(false);
RowSetFactory myRowSetFactory = null;
myRowSetFactory = RowSetProvider.newFactory();
crs = myRowSetFactory.createCachedRowSet();
crs.setUrl("jdbc:mysql://localhost:3306/test");
crs.setUsername("root");
crs.setPassword("");
crs.setConcurrency(CachedRowSet.CONCUR_UPDATABLE);
crs.setCommand("select * from employee");
crs.execute();
while (crs.next()) {
System.out.println(crs.getString("Name"));
}
// Inserting rows
crs.moveToInsertRow();
crs.updateInt("Id", 5);
crs.updateString("Name", "E");
crs.insertRow();
//Thread.sleep(60000);
crs.acceptChanges(c); // Updating Data Sources
} catch (Exception e) {
e.printStackTrace();
}
}
}
【问题讨论】:
标签: java mysql database jakarta-ee jdbc