描述:工作台中的autocommit值已设置为0(零),然后我将一条记录插入到表中,并通过jdbc在Java App客户端中成功提交了事务。我在命令行中执行select查询,刚刚插入的记录已成功提取,但在workbech中执行相同的查询脚本,无法提取刚插入的记录。只有在工作台中执行提交命令后,才能查询记录。
如何重复:
建议修复:工作台应该读取提交的记录,而不是再次执行提交命令,以通过jdbc显示已经提交的记录。
下面是我的jdbc代码
int recordInserted = 0;
PreparedStatement prepStmt = null;
try {
conn = new DatabaseConnection().getSQLConnection();
if (conn != null) {
String sql = "INSERT INTO customerinfo (CustID, Customer_Name, Customer_License) VALUES (?, ?, ?)";
prepStmt = conn.prepareStatement(sql);
prepStmt.setString(1, registerRecords.getCustomerID());
prepStmt.setString(2, registerRecords.getCustomerName());
prepStmt.setString(3, registerRecords.getCustomerLic());
recordInserted = prepStmt.executeUpdate();
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
conn.close();
prepStmt.close();
conn = null;
prepStmt=null;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
这意味着您必须从Java手动提交事务。
但你从来没有真正从Java提交。你应该这样做:
conn.commit();
完整代码:
java prettyprint-override">if (conn != null) {
String sql = "INSERT INTO customerinfo (CustID, Customer_Name, Customer_License) VALUES (?, ?, ?)";
prepStmt = conn.prepareStatement(sql);
prepStmt.setString(1, registerRecords.getCustomerID());
prepStmt.setString(2, registerRecords.getCustomerName());
prepStmt.setString(3, registerRecords.getCustomerLic());
recordInserted = prepStmt.executeUpdate();
conn.commit();
}
我使用Liquibase insert将两行添加到数据库中,并通过外键链接它们,如下所示: 除了表2中外键的值外,两条记录都正确插入。此值保持为空。因此,“computeValue”属性似乎没有正确执行,但我不明白为什么。我希望在Liquibase中有一个解决方案,而不是在普通SQL中,因为Liquibase提供了一种可能性,可以方便地插入clob字段。 表1:ID- 55228390499230
这是我的第一个项目,也是我的第一个岗位。我正在创建一个在朋友之间使用的博彩网站,但我遇到了这个错误:无法读取未定义的属性“Push” 我想让它再次发挥作用是件小事吧? 有什么建议吗? 数据库模式
问题内容: 我创建了一个JDBC附加程序,并绑定了ColumnConfig和DataSourceConnectionSource。 尝试在数据库中插入记录时(Logger.debug(“ Test”))。我遇到了以下异常。 谢谢 问题答案: 抱歉,我之前的回答不正确。可以通过配置修改此行为。默认情况下,所有列(除非除外)都被视为unicode字符串,并且该值是通过方法插入的。如果您使用配置列,则将
我正在学习Sedgwick(普林斯顿大学)的算法1课程,试图从标准输入中读取一个整数,它表示将要输入的整数对的数量,然后从标准输入中读取一个整数对的列表。 例如: 视频中给出的代码是这样的: 问题: > 中的代码是stdin.readint()实际的java还是伪代码?
我尝试使用getch()和kbsit()读取用户的输入,但它似乎无法识别按键被按下。 此代码打印“开始”,按下键时不打印任何内容。使用getch()读取和打印哪怕一个字符,而不使用循环,我都不走运。
我有两个表1)krs_question_bank 2)krs_options 而我正在调用Session.Save(问题)。生成了Hibernate查询,但..我有以下错误。有什么办法可以解决这个错误吗?