У меня есть этот метод для вставки данных с использованием jdbc, который будет вставлять значение в соответствии с типом Java. Примерно так:
Object o = map.get( key );
if( o == null ) {
// setNull( index );
} else if( o instanceof String ) {
// setString( index, (String) o );
} else if( o instanceof Timestamp ) {
// setTimestampt( index, ( Timestamp ) o );
} else if( o instanceof Integer ) {
// setInt( index, (Integer) o );
}
index++;
Хотя есть проблема (кроме всего, что прокомментировано: P)
Если значение o равно нулю, мне необходимо использовать "setNull (int, int)" метод, но Я должен указать тип SQL :
... Примечание : необходимо указать тип SQL параметра.
Но ... я не знаю тип, поэтому я рассматриваю использование всегда VARCHAR (только потому, что)
setNull( index,Types.VARCHAR); .
Что произойдет, если я всегда установлю ноль в подготовленном выражении с помощью varchar?
Я использую:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
С драйвером Oracle JDB:
11.1.0.7.0-Production ( ojdbc6.jar )
Какая альтернатива?