L'insertion d'une valeur de date/heure dans l'Accès à l'aide d'un OleDbParameter
Je suis en train de faire une insertion dans oledb(ms accès base de données)
le champ objectdate est date/heure
le code que j'utilise pour ajouter le paramètre est présent, mais j'obtiens une erreur.
OleDbParameter objectdate = new OleDbParameter("@objectdate", OleDbType.DBDate);
objectdate.Value = DateTime.Now; cmd.Parameters.Add(objectdate);
l'erreur:
Type de données incompatible dans l'expression des critères.
Merci de ne pas mettre " c#" à la fin de votre titre. Sur Stack Overflow, nous utilisons des balises pour que.
J'ai juste copié et collé ces énoncés en C# (VS 2010) et ils ont travaillé très bien pour moi. Vote pour fermer "hors-sujet (...problème qui ne peut plus être reproduit...)".
J'ai juste copié et collé ces énoncés en C# (VS 2010) et ils ont travaillé très bien pour moi. Vote pour fermer "hors-sujet (...problème qui ne peut plus être reproduit...)".
OriginalL'auteur robert | 2011-09-23
Vous devez vous connecter pour publier un commentaire.
OleDB n'aime pas les millisecondes dans les paramètres de type dateheure. Si vous supprimez les millisecondes il aller ok. Voir aussi: Comment tronquer millisecondes hors de l' .NET DateTime.
Comment tronquer millisecondes hors de l' .NET DateTime
OriginalL'auteur Wout
Que vous pouvez utiliser.
ou de l'utilisation de l'Automation Ole de version de la date.
Ou vous pouvez entrer les datetime comme un littéral depuis le Datetime.ToString() supprime les millisecondes que l'accès ne peut pas travailler avec.
cela devrait fonctionner.
pourriez-vous poster le code que vous avez utilisé? juste dans les commentaires ici.
je voulais vous faire remplacer OleDbType.DBDate avec DbType.DateTime
le code et l'erreur que je reçois: DateTime dateobjectdate = DateTime.Maintenant; OleDbParameter objectdate = new OleDbParameter("@objectdate", DbType.DateTime); objectdate.Valeur = dateobjectdate; cmd.Les paramètres.Ajouter(objectdate); type de Données incompatible dans l'expression des critères.
Aussi j'ai essayé les lignes suivantes avec pas de chance, d'ailleurs comment peut-tiret?? __________________________________________________________________ OleDbParameter objectdate = new OleDbParameter("@objectdate", OleDbType.Date); objectdate.Valeur = DateTime.Maintenant; cmd.Les paramètres.Ajouter(objectdate); ________________________________ type de Données incompatible dans l'expression des critères. OleDbParameter objectdate = new OleDbParameter("@objectdate", DbType.DateTime); objectdate.Valeur = DateTime.Maintenant.ToString(); cmd.Les paramètres.Ajouter(objectdate); type de Données incompatible dans l'expression des critères.
OriginalL'auteur scartag
La phrase:
n'est pas admise dans visual basic 2008, je l'utilise comme ceci:
la phrase suivante n'est fonctionnelle que dans sqlserver:
le problème continue encore
OriginalL'auteur Alfonso