電子書籍の厳選無料作品が豊富!

VB.netと(Access OfficeXP版)MDBでプログラミングしています。
DBアタッチは、OleDb関連でやっています。

今、データベース内の単精度浮動小数点の項目(小数点以下2桁設定)が正確に取得できず悩んでいます。
String型の項目は取得できます。


Dim Myreader as OleDbDataReader
While Myreader.Read

System.console.WriteLine(MyReader.GetString(0))
System.console.WriteLine(MyReader.GetFloat(1))

End while
これを行うと以下の実行エラーが出ます。

"符号の不一致またはデータオーバーフロー以外の理由により、データ値が変換できませんでした。"


MyReader.GetFloatのところは、GetDoubleでも同様です。またGetValueにすると異常終了はしませんが、
数値はzeroが入ってきます。

よろしくお願いいたします。

A 回答 (1件)

MyReader.GetFloat(1)に該当するデータが不正な可能性があります。


このデータをACCESSで直接表示したときに、どのように表示されますでしょうか?(正しく数値が表示されますか)
又、ACCESSのデザインビュー上でこのフィールドが数値型かつ単精度浮動小数点型で定義されていますか?
    • good
    • 0
この回答へのお礼

ご指摘のとおりです。
データベースのパスが変えられており、1世代前のものを
参照していました。そのテーブルの該当項目は
浮動小数点項目になっておらず、エラーが出続けておりました。
ほんとにありがとうございました。

お礼日時:2004/03/02 08:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!