您好我正在尝试使用JDBC addBatch
executeBatch
更新sybase数据库。我在运行时创建表并在jdbc批处理中插入值。我正在以下列格式从逗号分隔文件中读取值
1,ABC,DEF
2,GHI,KJL
create query is CREATE TABLE School(schoolid int,schoolname varchar ,schooltype varchar )
insert query INSERT INTO School(schoolid,schoolname,schooltype) VALUES (?,?,?)
正在发生的事情是我没有成功执行错误代码,但最终数据库中没有值。表是空的。我也在使用dbConn.commit()
但仍然是空表。请指导。提前谢谢。
答案 0 :(得分:2)
您的批次很可能小于batchSize
,这意味着您永远不会使用pstmt.executeBatch();
到达一行,因为++count % batchSize == 0
永远不会评估为真。
您可以在关闭pstmt.executeBatch();
循环后立即添加一行while
来轻松解决此问题。这样,任何剩余的行都不会导致批处理被执行,而新的批处理将在最后执行。