[JDBC] Datentyp einer Spalte herausbekommen und dementsprechend String konvertieren

Anime-Otaku

Erfahrenes Mitglied
Hallo tutorials.de Gemeinde,

ich schreibe über JDBC Daten in eine Oracle Datenbank. Dabei benutze ich zum korekten escapen und alles ein PreparedStatement.

Die Tabelle in die ich schreibe ist immer ähnlich aufgebaut.

Jedoch kann es sein, dass eine der Spalte einen wechselnden Datentyp hat (je nach Daten halt).

Mein Eingangsdatentyp für die Spalte ist generischer Weise ein String.
Die Spalte ist zwar in den meisten Fällen eine "number", aber kann auch ein Varchar sein (oder was ganz anderes sein).

Deshalb meine Frage....gibt es Möglichkeiten...
a. automatisch den String in den gegebenen Spaltentyp zu wandeln?
b. heraus zu bekommen welcher Datentyp die Spalte hat, zum selber konvertieren?


Ich hoffe ich konnte mich klar ausdrücken^^

hier nochmal die kurz Fassung: Bekomme String, Zieldatentyp der Spalte unbekannt, benutze PreparedStatement, Oracle
 
Hallo,

schau mal hier:
Java:
/**
 * 
 */
package de.tutorials;

import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Types;

/**
 * @author Thomas.Darimont
 * 
 */
public class ResultSetMetaDataExample {

    /**
     * @param args
     */
    public static void main(String[] args) throws Exception {
                //vor der Abfrage
                Connection connection = null;
		DatabaseMetaData databaseMetaData = connection.getMetaData();
		ResultSet resultSet = databaseMetaData.getColumns(catalog, schemaPattern, tableNamePattern, columnNamePattern)

                //nach der Abfrage
        ResultSet resultSet = null;

        ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
        System.out.println(resultSetMetaData.getColumnTypeName(1)); 
        //Types.INTEGER
        
    }
}

Gruß Tom
 

Neue Beiträge

Zurück