Ich möchte das Ergebnis der Ausführung einer MySQL-Abfrage in eine andere MYSQL-Tabelle einfügen. Folgende ist der Code-Schnipsel:Wie fügt man ein ResultSet in eine neue MYSQL-Tabelle ein?
rs1 = st.executeQuery(query1);
while(rs1.next()){
insertData(species,rs1,"try");
}
Die resultset rs1
enthält eine Anzahl n von Reihen als Ergebnis der Ausführung von query1
zurückgegeben. Ich versuche, alle Zeilen in rs1
in eine andere Tabelle einzufügen. Einsetzvorgang wird in der Funktion insertData()
wie folgt durchgeführt:
public void insertData(String species, ResultSet rs, String table)throws Exception{
String q = "Insert into "+table+" values("+rs.getFloat("sl")+","+rs.getFloat("sw")+","+rs.getFloat("pl")+","+rs.getFloat("pw")+",'"+rs.getString("classification")+"')";
int x = st.executeUpdate(q);
if(x == 0)
System.out.println("Error inserting data");
}
Nachdem ich den Code ausführen, ich die folgende Ausnahme erhalten:
Operation not allowed after ResultSet closed
Soweit ich weiß, rs1.next()
Punkte, um den Cursor in die erste Zeile der ersten Iteration.
Bitte korrigieren Sie mich, wenn ich hier etwas Grundlegendes vermisse.
Was ist Ihre insertData()? Kannst du es posten? – haifzhan
Ich habe die Frage bearbeitet –
Bitte sehen Sie meine Antwort unter – haifzhan