0

タイトルが示すように、TINYINT(1) 列を含む ResultSet を populate() メソッドを介して CachedRowSet にフィードすると、その列の値がブール値に変換され、値が 0 の場合は false、それ以上の場合は true になります。これにより、元の値が失われ、その列に対する getInt() 呼び出しで例外がスローされます。

この動作を無効にすることはできますか? TINYINT(1) は、ハードコーディングされたタイプとステータスにも非常に役立ちます。1が最大値の数字ではなく、1桁の数字です。本当にブール値として扱う理由はありません。

CachedRowSetImpl をインスタンス化するときにこれを無効にするためにできることはありますか?

4

1 に答える 1

0

SQL でキャストを使用すると、通常の int が返されます。

select cast(tinyIntColumn as int) from someTable
于 2012-07-05T22:51:05.300 に答える