Строка не была распознана как допустимый DateTime. Есть неизвестное слово, начинающееся с индекса 0. " - PullRequest
1 голос
/ 11 ноября 2019

Строка не была распознана как допустимый DateTime. Есть неизвестное слово, начинающееся с индекса 0. "

Я пытаюсь импортировать данные Excel в таблицу базы данных Sql Server, для этого я делаю массовую вставку, и в моей базе данных тип данных date и в строке Excel.

Ниже мой код:

public static class DataTableExt
{
    public static void ConvertColumnType(this DataTable DTable, string columnName, Type newType)
    {
        using (DataColumn dc = new DataColumn(columnName + "_new", newType))
        {
            // Add the new column which has the new type, and move it to the ordinal of the old column
            int ordinal = DTable.Columns[columnName].Ordinal;
            DTable.Columns.Add(dc);
            dc.SetOrdinal(ordinal);

            // Get and convert the values of the old column, and insert them into the new
            foreach (DataRow dr in DTable.Rows)
                if (!string.IsNullOrEmpty(dr[columnName].ToString()))
                {
                    dr[dc.ColumnName] = Convert.ChangeType( dr[columnName], newType);
                }
                else
                {
                    dr[dc.ColumnName] = Convert.ChangeType(DateTime.Now, newType);
                }

            // Remove the old column
            DTable.Columns.Remove(columnName);

            // Give the new column the old column's name
            dc.ColumnName = columnName;
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...