J'essaie de stocker le datetime de cassis dans la colonne Datatable Datetime en utilisant le code ci-dessous
dtRow["dCurrantDate"] = DateTime.Now;
mais j'obtiens cette erreur:
Le type de valeur ne correspond pas au type de colonne dans la colonne dCurrantDate. Le type attendu est DateHeure.
5 Réponses :
La solution se trouve dans le message d'erreur. C # DateTime
équivaut à SQL datetime
ou datetime2
. Vérifiez le type dans votre table SQL et, si nécessaire, définissez-le sur l'un de ces types de date.
Si vous regardez la définition de smalldatetime ici, il stocke l'heure différemment. Si vous avez besoin de temps, vous devrez tout supprimer sauf les heures et les minutes, sinon utilisez uniquement la date. Ajoutez .Date
après Now
.
le type de données en SQL est shortdatetime. est-il possible de convertir et de stocker dans une colonne datatable?
Pouvez-vous changer le type de colonne dans votre table SQL?
Ohh Désolé mais je ne peux pas changer le type de colonne dans la table SQL
Selon l'erreur affichée, le type de données de la colonne dans la base de données ne correspond pas à l'entrée (si le type de colonne est datetime, AM OU PM non stocké Utiliser le type datetime2)
Essayez ceci
public void MakeDataTable(){ DataTable myTable; DataRow myNewRow; // Create a new DataTable. myTable = new DataTable("My Table"); //ADDING DATETIME COLUMN DataColumn colDateTime = new DataColumn("DateTimeCol"); colDateTime.DataType = System.Type.GetType("System.DateTime"); myTable.Columns.Add(colDateTime); //ADDING ROW TO DATA-Table myNewRow = myTable.NewRow(); myNewRow["DateTimeCol"] = System.DateTime.Now; myTable.Rows.Add(myNewRow); }
Merci de répondre. Mon flux de travail est,:, Dans Sql Table ont la colonne dCurrantDate par type de données shortdatetime. J'ai créé Datatable en récupérant les colonnes Sql Table et maintenant je veux stocker la date dans la colonne Datatable dCurrantDate de C #. Et aussi une autre colonne dans laquelle je veux stocker la date sélectionnée.
Je reçois un problème dans la colonne shortdatetime attachée à la colonne datatable, puis stocke la valeur dans Datatable
En gros, une colonne DateHeure serait ajoutée comme indiqué ci-dessous, veuillez vérifier avec votre code `
DataTable dt = new DataTable(); DataColumn dc = new DataColumn(); dc.ColumnName = "dCurrantDate"; dc.DataType = typeof(DateTime); dt.Columns.Add(dc); DataRow dr = dt.NewRow(); dr["dCurrantDate"] =DateTime.Now; dt.Rows.Add(dr);`
double cell = Convert.ToDouble (dataTable.Rows [rowCount] [columnCount]);
DateTime matchDate = DateTime.FromOADate (cellule);
C'est la solution la plus simple possible.
Postez vos erreurs ici au format texte, pas en images.
DateTime
n'a pas de méthodeNow ()
- seulement une propriétéNow
. Veuillez corriger votre code. SiDateTime
est un objet personnalisé et nonSystem.DateTime
, veuillez fournir la signature pourNow ()
.Peut-être
DateTime.Now
?@Roman Peut-être, mais étant donné l'erreur, peut-être pas. Dans tous les cas, nous avons besoin d'un exemple reproductible minimal .
Veuillez vérifier le type de données de votre colonne
J'essaye aussi avec System.DateTime.Now mais j'ai toujours la même erreur
Fournissez un exemple reproductible minimal , Hardik.
Imgur bloqué en Turquie . Pouvez-vous s'il vous plaît poster votre message d'erreur sous forme de texte brut?