E' possibile individuare una tipologia di valore del DB?

di il
1 risposte

E' possibile individuare una tipologia di valore del DB?

Sto cercando di realizzare un metodo che scriva su un database i valori di una matrice di oggetti mat[][] (String, Double, Date, ecc...). Ho pensato ad un costrutto come questo:
for (i = 0; i < camp; i++) {
			if (mat[0][i] instanceof Double) {
				tab = tab + ", '" + i + "' REAL";
			}
			else if (mat[0][i] instanceof Float) {
				tab = tab + ", '" + i + "' REAL";
			}
			else if (mat[0][i] instanceof Boolean) {
				tab = tab + ", '" + i + "' TEXT";
			}
			else if (mat[0][i] instanceof String) {
				tab = tab + ", '" + i + "' TEXT";
			}
			else if (mat[0][i] instanceof Long) {
				tab = tab + ", '" + i + "' INTEGER";
			}
			else if (mat[0][i] instanceof Integer) {
				tab = tab + ", '" + i + "' INTEGER";
			}
			else if (mat[0][i] instanceof Short) {
				tab = tab + ", '" + i + "' INTEGER";
			}
			else if (mat[0][i] instanceof Byte) {
				tab = tab + ", '" + i + "' INTEGER";
			}
			else if (mat[0][i] instanceof Date) {
				tab = tab + ", '" + i + "' BLOB";
			}
			else {
				tab = tab + ", '" + i + "' NULL";
			}
}
Dove il tipo di campo è scelto in modo automatico in funzione del tipo di oggetto. Se in una colonna si sono Double il campo corrispondente è REAL, ecc...

Però mi sono arenato quando ho dovuto fare il discorso opposto: "Se un campo è REAL usa getDouble(), se è TEST getString(), ecc..."

Come faccio a capire il metodo di lettura da database che devo usare, ovvero come faccio a capire come è stato settato in principio un determinato campo prima di leggerlo (vedi sotto)?
m[j][k - 1] = rs.getDouble(k); or m[j][k - 1] = rs.getString(k); ???

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte