From: a-takada@synergy.co.jp (Atsushi Takada )
To: java-house-brewers@java-house.etl.go.jp
Message-ID: <38695E0012C.45AEA-TAKADA@172.16.0.4>
Date: Wed, 29 Dec 99 10:00:42 JST
References: <002301bf4d0d$1b390ae0$69b11f85@j7499627>

[JavaHouse-Brewers:29756] JDBC ResultSet.getxxx の疑問

[Prev][Next] | [Threads][Index] | [Search][Topics]
高田と言います。

JDBCを使ってOracleにアクセスするサーブレットを作っています。
クエリーを実行してresultSetを取得するところまでは問題ないの
ですが、その後でgetxxxメソッドを使った時に返される文字列の
長さが、必ず実際の文字列の3倍の長さになってしまいます。

【状況】
カラム定義  CHAR(16) で、英字が16文字入っています。
(例として、"aaaaabbbbbcccccd" とします。)

ResultSet rs = ... (取得)
String str = rs.getString(1)

とすると、"aaaaabbbbbcccccd"の後ろに、32個の半角スペースが
ついています。
データ型の変換が絡んでいるのかと思い、上記を
ResultSet rs = ... (取得)
byte[] b = rs.getBytes(1)
b.length

のようにバイト配列を取って配列長を調べてみましたが、この
場合も既に "48" となっていました。
なお、DB中のデータを14文字にすると、取得バイトは42となり
ます。
いろいろと情報を探してみたのですが、見つけることができません
でした。
何か情報をお持ちの方がいらっしゃいましたら、是非教えて下さい。
よろしくお願いします。


[Prev][Next] | [Threads][Index] | [Search][Topics]
Follow-ups:
029758 akimoto@tau.bekkoame.ne.jp (Yasuhiro Akimoto )