Как установить Datetime в столбце Datatable Datetime - PullRequest
2 голосов
/ 18 апреля 2019

Я пытаюсь сохранить дату и время смородины в столбце «Дата и время», используя приведенный ниже код

dtRow["dCurrantDate"] = DateTime.Now;

но появляется эта ошибка:

Тип значения не соответствует типу столбца. Не удалось сохранить <2019-04-18 12:32:11 PM> в столбце dCurrantDate. Ожидаемый тип DateTime.

Ответы [ 4 ]

2 голосов
/ 18 апреля 2019

В соответствии с отображаемой ошибкой тип данных столбца в базе данных не соответствует входному значению (если тип столбца - datetime, AM ИЛИ PM не сохранен, используйте тип datetime2)

2 голосов
/ 18 апреля 2019

Решение в сообщении об ошибке. C # DateTime эквивалентен либо SQL datetime, либо datetime2. Проверьте тип в своей таблице SQL и, если необходимо, установите для него любой из этих типов дат.

Если вы посмотрите на определение smalldatetime , здесь оно по-разному хранит время. Если вам нужно время, вам нужно будет убрать все, кроме часов и минут, в противном случае используйте только дату. Добавить .Date после Now.

1 голос
/ 18 апреля 2019

Как правило, будет добавлен столбец 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);`
1 голос
/ 18 апреля 2019

Попробуйте это

    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);
}
...