Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Выборка из поля datetimе / 8 сообщений из 8, страница 1 из 1
13.07.2015, 12:53
    #39005870
wild888
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из поля datetimе
Здравствуйте многоуважаемые!!! делаю такой запрос
Код: c#
1.
2.
3.
4.
5.
....
 DateTime time1 = DateTime.Today;
 DateTime time2 = DateTime.Today.AddMonths(-1);
...
da = new SqlDataAdapter("SELECT * FROM messages Where datetime Between Convert ('" + time1 + "') AND Convert  ('" + time2 + "')", con);


вылетает исключение "Incorrect syntax near '13.07.2015 0:00:00'." в БД(ms sql) в поле datetime время точно так же записывается.
в чём может быть проблема???
...
Рейтинг: 0 / 0
13.07.2015, 12:57
    #39005878
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из поля datetimе
wild888в чём может быть проблема???

Проблема в том, что нужно использовать параметры запросов вместо склейки строк
...
Рейтинг: 0 / 0
13.07.2015, 13:00
    #39005883
wild888
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из поля datetimе
Pallaris, спасибо, что-то и не догадался или не там смотрел)))
...
Рейтинг: 0 / 0
13.07.2015, 15:09
    #39006017
wild888
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из поля datetimе
сделал вот так, вдруг кому пригодиться)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
string zapros = "SELECT * FROM messages Where NameColumn<=@time1 AND Время>=@time2";
            SqlCommand cmd = new SqlCommand(zapros,connection);
            
            cmd.Parameters.Add(new SqlParameter("@time1", SqlDbType.DateTime));
            cmd.Parameters.Add(new SqlParameter("@time2", SqlDbType.DateTime));
            cmd.Parameters["@time1"].Value = DateTime.Now;
            cmd.Parameters["@time2"].Value = DateTime.Now.AddMonths(-1);

            da = new SqlDataAdapter(cmd);            
...
Рейтинг: 0 / 0
13.07.2015, 15:10
    #39006020
wild888
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из поля datetimе
wild888сделал вот так, вдруг кому пригодиться)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
string zapros = "SELECT * FROM messages Where NameColumn<=@time1 AND NameColumn>=@time2";
            SqlCommand cmd = new SqlCommand(zapros,connection);
            
            cmd.Parameters.Add(new SqlParameter("@time1", SqlDbType.DateTime));
            cmd.Parameters.Add(new SqlParameter("@time2", SqlDbType.DateTime));
            cmd.Parameters["@time1"].Value = DateTime.Now;
            cmd.Parameters["@time2"].Value = DateTime.Now.AddMonths(-1);

            da = new SqlDataAdapter(cmd);            
...
Рейтинг: 0 / 0
13.07.2015, 15:33
    #39006058
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из поля datetimе
wild888
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
string zapros = "SELECT * FROM messages Where NameColumn<=@time1 AND Время>=@time2";
            SqlCommand cmd = new SqlCommand(zapros,connection);
            
            cmd.Parameters.Add(new SqlParameter("@time1", SqlDbType.DateTime));
            cmd.Parameters.Add(new SqlParameter("@time2", SqlDbType.DateTime));
            cmd.Parameters["@time1"].Value = DateTime.Now;
            cmd.Parameters["@time2"].Value = DateTime.Now.AddMonths(-1);

            da = new SqlDataAdapter(cmd);            



Код: sql
1.
2.
3.
4.
5.
6.
string zapros = "SELECT * FROM messages Where NameColumn between dateadd(mm, -1, @time1)  AND @time1";
            SqlCommand cmd = new SqlCommand(zapros,connection);
            
            cmd.Parameters.Add(new SqlParameter("@time1", SqlDbType.DateTime)).Value = DateTime.Now;
    
            da = new SqlDataAdapter(cmd);            
...
Рейтинг: 0 / 0
13.07.2015, 15:39
    #39006066
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из поля datetimе
Ах да. Можно еще проще с параметрами

Код: c#
1.
 cmd.Parameters.Add("@time1", SqlDbType.DateTime).Value = DateTime.Now;
...
Рейтинг: 0 / 0
13.07.2015, 15:47
    #39006079
wild888
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из поля datetimе
Cat2Ах да. Можно еще проще с параметрами

Код: c#
1.
 cmd.Parameters.Add("@time1", SqlDbType.DateTime).Value = DateTime.Now;


Спасибо, возьму на вооружение)))))
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Выборка из поля datetimе / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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