[MySQL] 関数を使って取得した値をドロップダウンリストにバインドするとおかしい。

MySQL Connector/NET(v6.2.4.0) & Visual Studio 2008 (.NET Framework3.5)

MySQLのデータを取得しているのだが、MySQLのLEFT関数を使用して取得した値をドロップダウンリストにバインドしようとしたところByte型の値ということでおかしなことになってしまった。

select left(hogehoge, 4) from hoge
(出力結果)
2011

上記SQLを発行し、DataTableにデータを入れる。
DataTableのRowを確認するとByte型として値が返ってきていた。

詳しい原因は不明だが、SQL発行時に数値として明示的に型変換をすることで解決した。

select convert(left(hogehoge, 4), decimal) from hoge

なお、関数を使用せずに値をとってくる場合はそのままデータバインドできる。当然ではあるが。

このブログの人気の投稿

コピーした行の挿入が表示されない時はフィルタされていないかチェック

Excel で一部の図形だけ固定する