Какая разница в форматировании:
DateTime datetimenow = DateTime.Now.ToLocalTime();
и
long ticks = 634687637580000000;
DateTime createdTimestamp = new DateTime(ticks).ToLocalTime();
Что приводит к ошибке SQL Server CE
Произошла ошибкав части формата даты.[Выражение (если известно) =]
Я пытаюсь вставить две метки времени в базу данных SQL Server CE.Текущее время и дата из прошлого.Текущая дата и время (сейчас) могут быть вставлены в оба целевых поля в таблице, однако, когда я использую createdTimestamp
, появляется ошибка выше.
Формат, когда я проверяю локальные файлы в отладке, точно одинаков между двумя.
Оба целевых поля имеют тип данных datetime
.
Почему может выдаваться эта ошибка?
Редактировать:
Я только что обнаружил, что она влияет только на временные метки в прошлом.Сейчас и в будущем отметки времени работают нормально.
Редактировать: добавление кода для вставки SQL.
Запрос строится динамически моим собственным классом SQL Server CE.
{INSERT timeline (TweetID,Author,TimestampOfTweet,TimestampOfCollected,TweetText) VALUES ('185941815562739713','twitterapi','15/12/2011 13:52:39','01/04/2012 15:58:58','TweetDeck access - Update : This issue has been resolved. http://t.co/2yub0tYL')}
Код исполнения:
//Take built statement and apply to command text
cmd.CommandText = buildSqlStatement.ToString();
//execute insert
try
{
cmd.Connection = sqlConn;
sqlConn.Open();
int rows = cmd.ExecuteNonQuery();
string results = Convert.ToString(rows);
return results;
}
catch(Exception ex)
{
return ex.Message;
}
finally
{
sqlConn.Close();
}