- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 MySQL 数据库,我有一个包含 2 列的 Employee
表:Id
(Int;主键)和 Name
(String ).我已经编写了一些代码来向 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();
}
}
}
最佳答案
必须在 crs.insertRow()
之后和 crs.acceptChanges(c)
之前添加语句 crs.moveToCurrentRow()
/p>
例如:
// Inserting rows
crs.moveToInsertRow();
crs.updateInt("Id", 5);
crs.updateString("Name", "E");
crs.insertRow();
crs.moveToCurrentRow(); // NEW STATEMENT
crs.acceptChanges(c); // Updating Data Sources
欲了解更多信息,请访问:http://docs.oracle.com/javase/tutorial/jdbc/basics/cachedrowset.html#inserting-and-deleting-rows
关于java - CachedRowset acceptChanges 在插入操作后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25705278/
推荐哪个 while (reader.Read()) { table.Rows.Add( new object[] { reader[0], reader[1], r
我正在使用 MySQL 数据库,我有一个包含 2 列的 Employee 表:Id(Int;主键)和 Name(String ).我已经编写了一些代码来向 Employee 表中插入一行,但是 acc
Datatable.acceptchanges 将数据提交到表...意味着 它会将数据插入表..或数据表吗? 最佳答案 AcceptChanges()的目的是让DataTable知道它的数据已经保存到
在我的应用程序中,以下代码未将数据保存回数据库 this.lMSData.publisher.AddpublisherRow(txtname.Text, txtcondact.Text, txtmob
对数据库的更改已成功提交,但更新对象上下文时出错。 ObjectContext 可能处于不一致状态。内部异常消息:AcceptChanges 无法继续,因为对象的键值与 ObjectStateMana
我已经被这个问题困扰了一个多星期了。希望有人能指出我正确的方向。 我首先简要描述我的模式。 Assets 1--->1 地址 *-->1 区域 *-->1 区域 *-->1 国家 包 1-->* As
我对在数据集中使用 AcceptChanges 的效果感到困惑。从我的测试来看,这会强制提交数据库更改,而忽略数据库上的任何约束。 任何人都可以确认是否是这种情况,如果不是,这与在数据集上使用更新函数
我有两个 XML 数据集,ds1 和 ds2。我使用 .ReadXML(name, XmlReadMode.ReadSchema) 读取这些数据集。我正在尝试通过使用如下所示的合并数据集来获得具有两者
在我的 DataGridView 中,我使用 DataView 来过滤 DataTable。 CheckBox 值在过滤器中使用。 当取消选中 CheckBox 时,该行应该消失。为了立即运行它,我在
我在使用 Entity Framework 4.0 时遇到问题。我正在尝试保存一个包含“Segment”对象集合的“Treatment”对象。每当我尝试添加/编辑要添加 2 个或更多新 Segment
我是一名优秀的程序员,十分优秀!