2017-05-31 5 views
0

私はMySqlDataReaderを使用してMySQL DBに接続するC#プログラムを持っています。ある時点で、それはまたタイプdoubleのC#の変数に、データ型doubleのDBフィールドをインポート:C#にMySQL doubleをインポートするとInvalidCastExceptionが発生する

MyDBTable table = new MyDBTable(); 
table.myDouble = row.GetValueOrDefault<double>("double_field"); 

しかし、これは例外が発生:

System.InvalidCastException: Specified cast is not valid. 

は、なぜ私はこのエラーを取得していますか?私は、MySQL doubleのタイプがC#doubleタイプに対応していると考えました。

+0

コードをデバッグして、どのオブジェクトが列 "double_field"に格納されているか確認しようとしましたか? [この質問]もチェックしてください(https://stackoverflow.com/questions/14138013/c-problems-with-getting-double-values-from-mysql-database) –

+0

これは大丈夫です...この疑似コードの代わりに実際のコード? 「MyDBTable」の外観はどうですか?データベーステーブルのレイアウトはどのようなものですか? –

答えて

0

私の推測では、double_fieldはnull可能で、nullからのdouble値の作成はサポートされていません。試してみてください

object o = row.GetValueOrDefault<object>("double_field"); 

オブジェクトに含まれるものを見てください。

関連する問題