前回、VC++2008でエクセルファイルのデータを参照するサンプルプログラムをご教授頂き

動作させる事が出来たのですが、Windowsフォームアプリケーションで作成しようとした際に
下記問題が発生してしまい、色々と調べておりますが、解決策が見つからないため、ご教授
宜しくお願い致します。
前回の質問:http://q.hatena.ne.jp/1259456311

OleDbDataReader^ reader = cmd->ExecuteReader();
reader->Read()
   textBox2->Text = (String^)reader["key"];
   textBox3->Text = (String^)reader["value"];  ←エラー箇所

コンパイラーでエラーは発生しないが、実行時に
「'System.InvalidCastException' のハンドルされていない例外が test.exe で発生しました。
追加情報: 型 'System.Double' のオブジェクトを型 'System.String' にキャストできません。」
とエラーで終了。
上記プログラムのエラー箇所でのキャスト方法が悪いと思うのですが、正しいキャストの方法が判らない状態です。

以上、宜しくお願い致します。

回答の条件
  • 1人50回まで
  • 登録:
  • 終了:2009/12/04 16:02:38
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:mattn No.1

回答回数104ベストアンサー獲得回数23

ポイント60pt
textBox2->Text = (String^)reader["key"]->ToString();
textBox3->Text = (String^)reader["value"]->ToString();

としてみて下さい。

id:gontakun_55

ありがとうございます。

.ToString()でエラーが出ていたのでToString以外の方法かと思っていたのですが、

->ToString()で良いんですね。

使い方を間違えていたんですね、ありがとうございました。

2009/12/04 16:02:29

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません