Я пытаюсь сохранить дату смородины в столбце Datatable Datetime, используя код ниже
dtRow["dCurrantDate"] = DateTime.Now;
но получаю эту ошибку:
Тип значения имеет несоответствие с типом столбца. Не удалось сохранить <2019-04-18 12:32:11 PM> в столбце dCurrantDate. Ожидаемый тип - DateTime.
Решение в сообщении об ошибке. С# DateTime
эквивалентно SQL datetime
или datetime2
. Проверьте тип в вашей таблице SQL и, если необходимо, установите для него любой из этих типов дат.
Если вы посмотрите на определение smalldatetime здесь, оно хранит время по-другому. Если вам нужно время, вам нужно будет убрать все, кроме часов и минут, в противном случае используйте только дату. Добавить. .Date
после Now
.
В соответствии с отображаемой ошибкой тип данных столбца в базе данных не соответствует входному значению (если тип столбца - datetime, AM ИЛИ PM не сохранены, используйте тип datetime2)
Как правило, столбец DateTime будет добавлен, как показано ниже, пожалуйста, проверьте свой код
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);'
Попробуй это
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);
}
тип данных dtRow ["dCurrantDate"] должен быть DateTime. Пожалуйста, опубликуйте свой код данных, который мы можем отсортировать.
DateTime
нет методаNow()
- только свойствоNow
. Пожалуйста, исправьте ваш код. ЕслиDateTime
- это пользовательский объект, а неSystem.DateTime
, предоставьте подпись дляNow()
.