2010-08-18 3 views
0

bonne journée. J'utilise une connexion OLEDB pour me connecter à la base de données DB2. J'ai des problèmes pour mapper les dates de la base de données à l'intérieur de .NET.CAST non valide (date OLEDB)

Dans mon objet métier je défini un private DateTime _genftmdpdate=DateTime.MinValue; Mais chaque fois que je vais chercher la date de base de données et remplir l'intérieur de ma variable I get Cast spécifié n'a pas d'erreur valide

myftModInstall.genFtMDPDate = myRecord.GetDateTime(myRecord.GetOrdinal("GENFTMDPDATE")) 

S'il vous plaît aidez-moi que je ne vouloir convertir la date en chaîne tout le temps.

Modifier --- Cela ne fonctionnera pas aussi bien myftModInstall.genFtMDPDate = Convert.ToDateTime(myRecord.GetType((System.Data.OleDb.OleDbType.Date)(myRecord.GetOrdinal("GENFTMDPDATE"))));

Répondre

0

Assurez-vous que vous vérifiez un NULL avant d'essayer de récupérer une valeur.

if(!myRecord.IsDBNull(myRecord.GetOrdinal("GENFTMDPDATE")) 
    myftModInstall.genFtMDPDate = myRecord.GetDateTime(myRecord.GetOrdinal("GENFTMDPDATE")); 
+0

Hiya Je l'ai fait exactement. Cela ne règle pas le problème. Le problème réside dans l'extraction de la date à partir de la base de données 'myRecord.GetDateTime', si je la change en myRecord.GetString, cela fonctionne, mais je dois faire une conversion complète en date. –

+0

Quel est le type de données SQL pour la colonne de base de données? –

+0

Dans la base de données, il s'agit du type DATE. Mais je n'arrive jamais à le lire comme date par myrecord.GetDate. GetString fonctionne seulement. –

Questions connexes