0

jdbcにデータを挿入したい。私はこのコードを書きます:

int i=0;
while(i < columnCount ){
    i++; 
    stmt_ver.setString(i, x[i] );
    stmt_ver.setDate(i+1, x[i+1] );
    stmt_ver.setDouble(i+2, x[i+2] );
}

しかし、私は書きたくありません setString、またはsetDateまたはsetDouble。ダイナミックにやりたい。どうやってやるの?

ありがとう。

4

3 に答える 3

1

クラスのgetColumnsメソッドを使用して、列のデータ型を取得できます。DatabaseMetaDataこのメソッドはResultSetオブジェクトを返します。このオブジェクトの 5 番目の列には、列のデータ型が含まれます。

public int getType(Connection con, String tableName, String columnName) throws SQLException
{
    DatabaseMetaData dbmd = con.getMetaData();
    ResultSet rs = dbmd.getColumns(null, null, tableName, columnName);
    Integer type = null;
    while(rs.next())
    {
        type = rs.getInt(5);
    }

    return type;
}

データベースに有効なtableNameandがあると仮定すると、オブジェクトには理想的には 1 行のみが含まれている必要があります。columnNameResultSet

于 2013-06-20T12:07:49.397 に答える