Pytam tabelę information_schema.columns
w mojej bazie danych PostgreSQL. Używając nazwy tabeli, zestaw wyników znajduje wszystkie nazwy kolumn, typ i czy jest on zerowy (z wyjątkiem klucza podstawowego, "id"). To zapytanie używany:Konwertuj zestaw wyników z tablicy SQL na tablicę ciągów znaków
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;
Mam tablicę ciągów dla każdego z tych wyników i staram się użyć metody ResultSet getArray(String columnLabel)
aby uniknąć pętli przez wynikach. Chcę, aby przechowywać zwróconych tablic w tablicach smyczkowych, ale pojawia się błąd niezgodność typów
Type mismatch: cannot convert from Array to String[]
Czy istnieje sposób do konwersji lub typecast tablicy obiektu SQL String []?
odpowiedni kod:
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();
}
Dziękuję, próbowałem używać 'rs.getArray (" is_nullable "). GetArray()' ale nie sądzę, miałem typecast to. Wygląda na to, że rozwiązałem mój problem. – Matt