Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tidak dapat mengonversi MySQL.DateTime ke System.DateTime dengan nilai 0000-00-00 00:00:00

Melihat dokumentasi ini , sepertinya Anda menentukan dua opsi yang kontradiktif (AllowZeroDateTime=true dan ConvertZeroDateTime=true ) dan yang tampaknya tidak terdaftar (ZeroDateTimeBehavior=ConvertToNull ).

Saya sarankan kecuali Anda memiliki data aktual yaitu DateTime.MinValue yang tidak ingin Anda campur dengan nilai "nol", Anda hanya tentukan ConvertZeroDateTime=true dan mendeteksi jika hasilnya DateTime.MinValue . Anda pasti tidak boleh panggil reader.GetDateTime() , lalu ubah hasilnya menjadi string, lalu kembali ke DateTime - Anda harus menghindari konversi string sejauh yang Anda bisa, karena mereka dapat mengacaukan segalanya untuk Anda dengan mudah.

Tidak terlalu jelas nilai string apa yang Anda inginkan untuk nilai "nol" ini, tetapi Anda harus dapat membuat huruf besar-kecil dengan DateTime.MinValue cukup mudah. Secara pribadi saya sebenarnya akan mencoba untuk menyimpan data dalam bentuk "asli" sebanyak mungkin daripada mengubah semuanya menjadi string, tapi itu pertempuran yang berbeda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tabel InnoDB ada di MySQL tetapi mengatakan mereka tidak ada setelah menyalin database ke server baru

  2. Bandingkan Nilai dengan String Dipisahkan Koma SQL PHP

  3. Beberapa Unggah Gambar ke dalam Database Mysql

  4. Tidak dapat terhubung ke server MySQL di 'localhost' (10061)

  5. Cara Menambahkan Total Baris di MySQL