下記に示す手順でConvert::ToInt32(sqlparam[i], 10);
を発行したところ、「解析可能な数値が見つかりませんでした。」
とログに出力されます。
下記に示した手順でなにか間違いなどがありましたら、
ご教示願います。
できれば、数値データ(4バイト)を数値型に変換する方法と、
変換した数値に対し桁数チェックを行う方法、または例などが
ありましたら、ご教示いただけると幸いです。
(手順)
1.char型バッファから数値データを取り出す。
2.1で取り出した数値データをString型に変換する。
3.nWork = Convert::ToInt32( sqlparam[i], 10 );
を発行する。(10進数で)
4.3で例外が発生する。
sqlparam[i]の型は何ですか?
また,例外発生時のsqlparam[i]の値はどうなっていますか?
おそらく,sqlparam[i]の値が,正規表現文字列
\s*(-|+)?\d+\s*
に一致しないのだと思いますが。
masat21です。
回答いただきありがとうございます。
sqlparam[i]は、String型の配列です。
配列の定義と例外発生時におけるsqlparam[i]の値については、
手元に開発マシンがないため、明日以降にお知らせいたします。
ちなみに、sqlparam[i]のデータは、データベースに格納する
仕様となっています。
ツイート | ![]() |