powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Сравнение datetime из datetimepicker c datetime из sql
3 сообщений из 3, страница 1 из 1
Сравнение datetime из datetimepicker c datetime из sql
    #37515875
Kirll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравстуйте. Помогите пожалуйста, а то голова уже кругом (((

Не получается сравнить дату полученную от datetimepicker ( она выглядит вот так: 08.11.2011 15:41 )
У datetime из БД sqlce, формат точно такойже.

Но по результату понятно, что перепутаны месяц и день. Как их правильно сравнить не догоняю.

Заранее благодарен за любое участие.
Вот код процедуры в которой произвожу заполение конечной таблицы из таблицы в БД

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
        public void GeFilesSrez(string dbname,
               Boolean CheckIncludeMask, string mask1,                          //Включение по маске
               Boolean CheckExcludeMask, string mask2,                          //Исключение по маске
               Boolean CheckCreation, DateTime Cr_start, DateTime Cr_End,       //Дата создания
               Boolean CheckAccess, DateTime Ac_start, DateTime Ac_End,         //Дата доступа
               Boolean CheckChange, DateTime Ch_start, DateTime Ch_End,         //Дата изменения
               Boolean CheckHidden,                                             //Скрытый
               Boolean ChechOnlyRead,                                           //Только чтение
               Boolean CheckEncrypt                                             //Зашифрован
               
            )
          {    
            string CS = @"Data Source=" + setup.AppDir + @"Data\" + dbname + ".sdf;Persist Security Info=False;";
            SqlCeConnection con = new SqlCeConnection(CS);
            no_result_query("TRUNCATE Files",con);
            
            string sql = "SELECT * FROM Files Where ";
            if (CheckIncludeMask) sql += "NAME LIKE '%" + mask1 + "%' AND ";
            if (CheckExcludeMask) sql += "NAME NOT LIKE '%" + mask1 + "%' AND ";
           

//---------------------------вот проблемная строка ------------------------------
           if (CheckCreation) 
               sql += "convert(datetime, CreationTime) between convert(datetime, '" + Cr_start + "') and convert(datetime, '" + Cr_End + "') ";
                            
  try
            {
                SqlCeCommand com = new SqlCeCommand(sql, con);
                SqlCeDataAdapter da = new SqlCeDataAdapter();
                da.SelectCommand = com;
                da.Fill(global.dtFsrez);
            }
            catch (Exception ex)
            {
                MessageBox.Show("GetFilesSrez\n" + ex.ToString()+"\nСодержимое запроса\n\n"+sql);
            }
        }

...
Рейтинг: 0 / 0
Сравнение datetime из datetimepicker c datetime из sql
    #37516112
Kirll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выкрутился с помощью параметров запросов:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 string sql = "SELECT * FROM Files Where ";
            if (CheckIncludeMask) sql += "NAME LIKE '%" + mask1 + "%' AND ";
            if (CheckExcludeMask) sql += "NAME NOT LIKE '%" + mask1 + "%' AND ";
            if (CheckCreation) sql += " CreationTime between @date1 and @date2";
      
            SqlCeCommand com = new SqlCeCommand(sql, con);
            SqlCeDataAdapter da = new SqlCeDataAdapter();
            com.Parameters.Add("@date1", SqlDbType.DateTime, 8).Value = Cr_start;
            com.Parameters.Add("@date2", SqlDbType.DateTime, 8).Value = Cr_End;
            try
            {
                da.SelectCommand = com;
                da.Fill(global.dtFsrez);
            }


...
Рейтинг: 0 / 0
Сравнение datetime из datetimepicker c datetime из sql
    #37528672
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос стар как жизнь, и на других форумах на него ответили бы сразу:
dateTime1.ToString("yyyy-MM-dd HH:mm:ss")

и для большей уверенности можно так
string.Format(" ... convert(datetime, '{0:yyyy-MM-dd HH:mm:ss}', 120) ... ", dateTime1)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Сравнение datetime из datetimepicker c datetime из sql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]