Data type conversion during resolving

When resolving changes made to the local copy of data back to its Database source, JBCL data types are translated into corresponding JDBC data types according to the table below. The JDBC data types listed below are defined in java.sql.Types. The JBCL data types are defined in borland.jbcl.util.Variant.

Any other value specified for a JBCL data type generates a DataSetException of UnrecognizedDataType.

JBCL data type Conversion process to JDBC type
Variant.BIGDECIMAL The value is bound using the java.sql.PreparedStatement object's setBigDecimal() method.
Variant.BINARY The value is bound using the java.sql.PreparedStatement object's setBinaryStream() method.
Variant.BOOLEAN The value is bound using the java.sql.PreparedStatement object's setBoolean() method.
Variant.DATE The value is bound using the java.sql.PreparedStatement object's setDate() method.
Variant.DOUBLE If the column's sqlType is java.sql.Types.REAL or java.sql.Types.FLOAT, the value is bound using the java.sql.PreparedStatement object's setFloat() method. Otherwise, the value is bound using the java.sql.PreparedStatement object's setDouble() method.
Variant.FLOAT If the column's sqlType is java.sql.Types.REAL or java.sql.Types.FLOAT, the value is bound using the java.sql.PreparedStatement object's setFloat() method.

Otherwise, the value will be bound using the java.sql.PreparedStatement object's setDouble() method.

Variant.INT The value is bound using the java.sql.PreparedStatement object's setInt() method.
Variant.LONG The value is bound using the java.sql.PreparedStatement object's setLong() method.
Variant.OBJECT The value is bound using the java.sql.PreparedStatement object's setObject() method.
Variant.STRING If the Column's sqlType is java.sql.Types.LONGVARCHAR, the value is bound as java.sql.Types.LONGVARCHAR.

If the column's sqlType is java.sql.Types.VARCHAR, the value is bound as java.sql.Types.VARCHAR.

If the column has precision (in other words, precision does not equal -1), the string is right-padded with spaces up to length specified by precision and is bound as java.sql.Types.CHAR. For example, if the value is "cat" and the column's precision is 5, the value will be bound as "cat ".

Otherwise, the value is bound using the java.sql.PreparedStatement object's setString() method.

Variant.TIMESTAMP The value is bound using the java.sql.PreparedStatement object's setTimestamp() method.
Variant.TIME The value is bound using the java.sql.PreparedStatement object's setTime() method.