【发布时间】:2018-06-18 08:50:02
【问题描述】:
我在运行批处理时遇到了一点问题..
首先,我还在学习JDBC等,如果我的错误真的很愚蠢,请见谅..
我必须在我的数据库中插入一些 SQL 查询。因此,我正在像这样构建我的 PreparedStatements:
String add = "INSERT INTO company_type VALUES (?,?)";
PreparedStatement company = write.getConnection().prepareStatement(add);
ResultSet com = types.getCompanyType();
while(com.next()) {
System.out.print("1");
company.setInt(1, com.getInt(1));
company.setString(2, com.getString(2));
company.addBatch();
if(i > size) {
company.executeBatch();
i = 0;
}
i++;
}
company.executeBatch();
通过调试器后,我知道company.executeBatch(); 行出了点问题。
它只是没有执行,我的程序似乎陷入了循环或静止不动。
有没有人,怎么能看出错误?
谢谢
附:我没有得到任何异常。
public Connection getConnection(){
Connection connection = null;
try{
Class.forName( "oracle.jdbc.driver.OracleDriver" );
} catch(ClassNotFoundException e) {
this.loginmessage.setText("Fehler beim Laden des Oracle JDBC Treibers!");
e.printStackTrace();
return connection;
}
try {
connection = DriverManager.getConnection("j******************);
} catch (SQLException e) {
this.loginmessage.setText("Verbindung fehlgeschlagen!");
e.printStackTrace();
return connection;
}
if (connection != null) {
loginmessage.setText("Verbindung hergestellt!");
return connection;
} else {
loginmessage.setText("Verbindung fehlgeschlagen!");
System.out.print("huaha");
}
return connection;
}
【问题讨论】:
-
你有什么异常吗?如果是的话是哪一个? (Edit 您的问题 - 在 cmets 中不邮政编码或其他信息)
-
嘿,首先,感谢您的回答.. 不,我没有得到任何异常:S
-
可能缺少
commit()? -
了解数据库并知道
write类型和write.getConnection是什么可能会很好(如果它是您自己的实现与否) -
我正在从 PostgreSQL 数据库中读取数据并尝试写入 Oracle 数据库,我会将方法向上发布
标签: java database jdbc prepared-statement