проблема с датой в sql CE

у меня есть база данных sqlCE, у меня есть поле Tdate (datetime)

я заметил, что его формат: ММ/ДД/ГГГГ

в моей программе С# я работаю с датой в формате: ДД/ММ/ГГГГ.

как я могу вставить в свою базу данных sqlCE свой формат С#?


person Gold    schedule 28.09.2009    source источник


Ответы (3)


у меня есть поле Tdate (datetime), я заметил, что его формат: MM/DD/YYYY

Нет, поле даты и времени не имеет никакого формата. Формат определяется, когда значение даты и времени преобразуется в строку после его чтения из базы данных.

То же самое работает, когда вы вставляете значение даты и времени в базу данных, вы используете значение даты и времени, а не строку. Если вы предоставите базе данных строковое значение, она попытается преобразовать его в значение даты и времени. Какой бы формат вы ни использовали при вставке значения даты и времени, это не влияет на то, как значение возвращается при его чтении, поскольку в базе данных хранится только значение, а не формат.

Когда вы вставляете значение, вы должны использовать параметризованный запрос, чтобы указать дату как значение DateTime, а не как отформатированную строку в запросе.

Когда вы читаете данные из базы данных, вы получаете значение DateTime. Вы можете либо установить культуру приложения, чтобы контролировать, как выполняется преобразование по умолчанию из DateTime в строку, либо использовать определенную культуру или формат при преобразовании.

person Guffa    schedule 28.09.2009

Может быть, есть какая-то функция, я не уверен. Мой вариант:

string DateString = "25/10/2009";
DateTime dateTime = DateTime.Parse(DateString);
string sqlString = datetime.Month+"/"+dateTime.Day+"/"+dateTime.Year;
person x2.    schedule 28.09.2009

Я думаю, вам не нужно беспокоиться о формате даты.

person Anuraj    schedule 28.09.2009