日付列名が proddate として定義され、DATE として定義されているテーブルがあります。
値をテーブルに書き込むコードは次のとおりです。
cmd.Parameters.Add("@Mydate", MySqlDbType.DateTime).Value = Convert.ToDateTime(MyArray[4]).ToString();
これにより、0000-00-00 の結果が得られます
に変更すると
cmd.Parameters.Add("@Mydate", MySqlDbType.DateTime).Value = Convert.ToDateTime(MyArray[4]);
結果は正しいです。例: 2013-11-14
ただし、数行下にこのコードがあります
cmd1.Parameters.Add("@date", MySqlDbType.DateTime).Value = Convert.ToDateTime(MyArray[4].ToString());
これにより、エラーは発生しません。テーブルで正しい結果が得られます
そして、同じメソッドでこのコードを使用した数行後:
cmd3.Parameters.Add("@Mydate", MySqlDbType.DateTime).Value = MyArray[4].ToString();
これもエラーになりません
最後の 2 行は、テストのために間違えました。ただし、最後の 2 つの例の列は DATE 形式として定義されています
何か案が ?それとも、Mysql の謎の世界に歓迎されますか?
PS: MYSQL CONNECTOR 6.7.4.0 .NET3.5 と C# 2008 Express を使用しています。私のサーバーではMYSQLは5.0です