hi
Kann mir jemand auf die Srünge helfen wie ich ein ARRAY in eine lokale H2 Datenbank bekommen. Ich hab schon 2 Tage im Netz gesucht keinen Erfolg gehabt. Auslesen geht wenn ich die Datenbank mit der Hand fülle.
Datenbaankstruktur :String,String,Integer,Array,Bolean
Auslesen mache ich mit
double Position[] = {2.1,3.4,2.7,5.8,12.5,34.7,12.3,23.6,3.5,6.8,0.0,0.0};
ResultSet metaRS = md.getTables(null, null, "%", types);
Statement stmt = conn.createStatement();
.......
ResultSet rs = stmt.executeQuery("SELECT * FROM " + tab);
i=0;
while (rs.next()) {
i=i+1;
String Anbietere = rs.getString(1);
String Datentype = rs.getString(2);
Integer Anzahle = rs.getInt(3);
Array Positione = rs.getArray(4);
Boolean Teste = rs.getBoolean(5);
System.out.println(Anbietere+" "+Datentype+" "+Anzahle+" "+Positione+" "+Teste+" Durchlauf "+i);
Einlesen habe ich mit
PreparedStatement prep = conn.prepareStatement("INSERT INTO "+tab+" (ANBIETER, DATEITYP,ANZAHL,Zahl ,TEST ) VALUES (?,?,?,?,?)");
prep.setString(1,Anbieter);
prep.setString(2,Datentyp);
prep.setInt(3,Anzahl);
prep.setArray(4, Position); // Fehlermeldung : Die Methode setArray(int, Array) im Typ PreparedStatement ist für die Argumente nicht anwendbar (int, double[])
prep.setBoolean(5,Test);
prep.addBatch();
beziehungsweise
String insertQ = "INSERT INTO " + tab;
String eingabe= " VALUES"+Anbieter+","+Datentyp+","+Anzahl+","Position+","+Test;
insertQ=insertQ+eingabe;
stmt.executeUpdate(insertQ);
Fehlermeldung Syntaxfehler bei Token „Position“. Token muss gelöscht werden.
versucht.
Danke