我想在Java中执行一个查询。
我创建了一个连接。然后我想执行一个INSERT
语句,当完成时,关闭连接,但我想通过一个连接执行一些插入语句,在循环结束时再关闭连接。
我该怎么办?
我的示例代码如下:
public NewClass() throws SQLException {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
System.out.println("Where is your Oracle JDBC Driver?");
return;
}
System.out.println("Oracle JDBC Driver Registered!");
Connection connection = null;
try {
connection = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl1", "test",
"oracle");
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
return;
}
if (connection != null) {
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * from test.special_columns");
while (rs.next()) {
this.ColName = rs.getNString("column_name");
this.script = "insert into test.alldata (colname) ( select " + ColName + " from test.alldata2 ) " ;
stmt.executeUpdate("" + script);
}
}
else {
System.out.println("Failed to make connection!");
}
}
执行选择语句 ("SELECT * from test.special_columns"
) 时,必须循环两次,但当执行 (stmt.executeUpdate("" + script)
) 完成后,关闭连接并从类中返回。
System.out.println()
语句以查看发生了什么,或者使用调试器。 - Jens