Поиск в БД

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
abs
Новичок
Новичок
 
Сообщения: 41
Зарегистрирован: 05.12.2002 (Чт) 1:09

Поиск в БД

Сообщение abs » 28.10.2006 (Сб) 21:02

Мне нужно сделать выборку из БД (SQLEXPRESS Server). Кажется я что-то совсем не так делаю...
Код: Выделить всё
Dim comStr As String
comStr = "SELECT * FROM " & "Orders_tbl" & " WHERE (Date_Incoming >= #" & DateTimePicker_SrchFrmDate.Value & "#) AND " & "(Date_Incoming <=#" & DateTimePicker_SrchToDate.Value & "#)"

Orders_tblBindingSource.Filter = comStr


ругается: Syntax error: Missing operand after 'Orders_tbl' operator.

Где ошибся?

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 28.10.2006 (Сб) 22:29

Не используйте конкатенацию запросов! Это очень, очень, очень плохо (Google и мой блог знают почему- см. sql injection ;)). Лучше использовать параметры (как к текстовому запросу, так и к ХП).

В вашем случае посмотрите на формат даты, в SQL YYYY-MM-DD будет работать наверняка, вне зависимости от локали.
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 29.10.2006 (Вс) 15:25

gaidar писал(а):В вашем случае посмотрите на формат даты, в SQL YYYY-MM-DD будет работать наверняка, вне зависимости от локали.

и еще # заменить на '

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Re: Поиск в БД

Сообщение Nicky » 30.10.2006 (Пн) 12:09

abs писал(а):
Код: Выделить всё
Dim comStr As String
comStr = "SELECT * FROM " & "Orders_tbl" & " WHERE (Date_Incoming >= #" & DateTimePicker_SrchFrmDate.Value & "#) AND " & "(Date_Incoming <=#" & DateTimePicker_SrchToDate.Value & "#)"

Orders_tblBindingSource.Filter = comStr


ругается: Syntax error: Missing operand after 'Orders_tbl' operator.

Где ошибся?


Orders_tbl - переменная? Тогда
comStr = "SELECT * FROM " & Orders_tbl & " WHERE (Date_Incoming >= #" & DateTimePicker_SrchFrmDate.Value & "#) AND " & "(Date_Incoming <=#" & DateTimePicker_SrchToDate.Value & "#)"

abs
Новичок
Новичок
 
Сообщения: 41
Зарегистрирован: 05.12.2002 (Чт) 1:09

Сообщение abs » 30.10.2006 (Пн) 17:35

Всем спасибо, но кажется я что-то совсем не так делаю.
Поставлю вопрос по другому:
"Как делать выборку из БД?"
(у меня SQLEXPRESS Server, VB.NET 2005)
p.s. Поиск пробовал. Если плохо смотрел буду благодарен за ссылку...

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 30.10.2006 (Пн) 18:06

Блин, просмотрел ;)
Orders_tblBindingSource.Filter = тип какой? Возможно он ждет то, что в WHERE, т.е.
Код: Выделить всё
Orders_tblBindingSource.Filter = "(Date_Incoming >= #" & DateTimePicker_SrchFrmDate.Value & "#) AND " & "(Date_Incoming <=#" & DateTimePicker_SrchToDate.Value & "#)"

abs
Новичок
Новичок
 
Сообщения: 41
Зарегистрирован: 05.12.2002 (Чт) 1:09

Сообщение abs » 30.10.2006 (Пн) 18:19

О! Спасибо! :P


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 1

    TopList