vb.netにてDatatableにMysqlから読み込んだデータを入れようとしたところ
以下のエラーが発生しました。
値の型が列の型と合いません。列 退職日 に <0001/01/01 0:00:00> を格納できませんでした。 必要な型は MySqlDateTime です。
確認したところ、Mysqlの型はdate型で
データでNullが格納されていると、Fillコマンドが失敗することが判明しました。
ソースです。
vb.net
1Dim sMysqlConnect As New MySqlConnection 2Dim sMysqlAdapter As New MySqlDataAdapter 3Dim sMysqlCommamnd As New MySqlCommand 4Dim sDatatable As New DataTable 5 6sMysqlConnect.ConnectionString = "DB接続情報" 7sMysqlCommamnd.Connection = sMysqlConnect 8sMysqlCommamnd.CommandText = "Select * from table1" 9 10sMysqlAdapter.SelectCommand = sMysqlCommamnd 11sMysqlAdapter.Fill(sDatatable) '←ここでエラー
DBに対しての変更は加えないものとして、ここから対応する場合、何か良案はありませんでしょうか。
なお、やりたいこととしては、DataTableからデータ加工を経てファイル出力をする内容になります。
なお、今逃げ道としてやっているのは、
DataReaderを使って、FiledTypeに合わせてNullを変換する処理をしています。
Datatableの型を作って入れる方法も考えましたが、
テーブルが違うごとにカスタマイズしなければならない問題があったため、除外してます。
回答1件
あなたの回答
tips
プレビュー