Avatar billede pham Nybegynder
17. august 2004 - 09:30 Der er 4 kommentarer og
1 løsning

MySQL DateTime er null

Hej

Jeg sidder og skal trække et datetime ud fra en MySQL db, men når jeg laver mit udtræk siger den at datetime ikke må være null. Min første tanke, var så at konvertere datetime til sqldatetime som godt kan være null, men jeg kan ikke lige finde ud af at gøre det håber der er nogen som vil hjælpe! :)

Min kode:
myCmd = new MySqlCommand("SELECT * FROM macsys", myCon);
            myReader = myCmd.ExecuteReader();
            myReader.GetDateTime(2);

Min Fejlmeddelse:
Unhandled Exception: System.InvalidCastException: Object cannot be cast from DBNull to other types.
  at System.DBNull.System.IConvertible.ToDateTime(IFormatProvider provider)
  at System.Convert.ToDateTime(Object value)
  at ByteFX.Data.MySqlClient.MySqlDataReader.GetDateTime(Int32 i)
  at ProxyApplikation.MySQL.hentMacsys() in c:\Documents and Settings\Godballe\My Documents\SharpDevelop Projects\ProxyApplikation\ProxyApplikation\MySQL.cs:line 33
Avatar billede arne_v Ekspert
17. august 2004 - 09:42 #1
En workaround er at teste for det:

if(!myReader.IsDBNull(2)) {
}
Avatar billede pham Nybegynder
17. august 2004 - 09:51 #2
ok mange tak, men er det ikke muligt at konvertere datetime til sqldatetime, synes jeg faldt over det på msdn
Avatar billede arne_v Ekspert
17. august 2004 - 10:21 #3
SqlClient (for SQLServer) SqlDataReader har en GetSqlDateTime
Avatar billede arne_v Ekspert
20. august 2004 - 19:38 #4
OK ?
Avatar billede pham Nybegynder
21. august 2004 - 10:56 #5
ja det var helt fint..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester