Ich frage die information_schema.columns
Tabelle in meiner PostgreSQL-Datenbank ab. Unter Verwendung eines Tabellennamens findet die Ergebnismenge alle Spaltennamen, den Typ und ob sie Nullwerte enthalten kann (außer für den Primärschlüssel, 'id'). Dies ist die Abfrage verwendet wird:Konvertieren eines Resultsets von SQL Array in Array von Strings
SELECT column_name, is_nullable,data_type FROM information_schema.columns
WHERE lower(table_name) = lower('TABLE1') AND column_name != 'id'
ORDER BY ordinal_position;
Ich habe einen String-Array für jede dieser Ergebnisse und ich versuche, die ResultSet-Methode zu verwenden getArray(String columnLabel)
Looping durch die Ergebnisse zu vermeiden. Ich mag die zurückgegebenen Arrays in dem String-Arrays speichern, aber einen Typenkonfliktfehler
Type mismatch: cannot convert from Array to String[]
Ist bekomme es eine Möglichkeit, das SQL-Array-Objekt in einen String [] zu konvertieren oder typisieren?
Relevant Code:
String[] columnName, type, nullable;
//Get Field Names, Type, & Nullability
String query = "SELECT column_name, is_nullable,data_type FROM information_schema.columns "
+ "WHERE lower(table_name) = lower('"+tableName+"') AND column_name != 'id' "
+ "ORDER BY ordinal_position";
try{
ResultSet rs = Query.executeQueryWithRS(c, query);
columnName = rs.getArray(rs.getArray("column_name"));
type = rs.getArray("data_type");
nullable = rs.getArray("is_nullable");
}catch (Exception e) {
e.printStackTrace();
}
Danke, ich hatte versucht mit 'rs.getArray (" is_nullable "). GetArray()' aber ich glaube nicht, dass ich es typecast hatte. Dies scheint mein Problem gelöst zu haben. – Matt