Как я могу сохранить отформатированный DateTime в столбце типа DateTime в базе данных? - PullRequest
0 голосов
/ 07 января 2019

Я извлекаю данные из базы данных в наборе данных и печатаю их в pdfdocument. В одной таблице есть столбец DateTime, а значение равно "12/27/2018 12:00:00 AM". Я пытаюсь отформатировать это как dd/MM/yyyy, но безуспешно, так как он ожидает DateTime и форматирование возвращает строковое значение. Должен ли я изменить тип данных столбца или есть способ сохранить его и отформатировать дату и время?

1 Ответ

0 голосов
/ 07 января 2019

Я рекомендую изменить базу данных со строки на DateTime. Но если вы не можете, вы можете использовать что-то вроде этого

            DataTable dt1 = new DataTable();
            DataTable dt2 = dt1.Clone();

            //change columns type
            dt2.Columns["Col A"].DataType = typeof(DateTime);
            int colNumber = dt2.Columns.IndexOf("Col A");

            foreach (DataRow row in dt1.AsEnumerable())
            {
                object[] rowData = row.ItemArray;
                rowData[colNumber] = DateTime.Parse(row.Field<string>("Col A"));
                dt2.Rows.Add(rowData);
            }
...