Вопрос по поводу GUID

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
AndreyG_80
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 169
Зарегистрирован: 10.03.2006 (Пт) 13:27

Вопрос по поводу GUID

Сообщение AndreyG_80 » 08.07.2007 (Вс) 23:57

Такая ситуация:
Есть хранимая процедура, у которой параметром является поле GUID

....
SELECT * FROM Table WHERE Fild=Value AND FildGUID=@GUID
....

Эту процедуру я вызываю из кода проги, НО в некоторых случаях я хочу выбрать все записи (все GUID). На подобе как для текстовой строки * или %.
Как это сделать?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 09.07.2007 (Пн) 4:45

LIKE :roll:
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

AndreyG_80
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 169
Зарегистрирован: 10.03.2006 (Пт) 13:27

Сообщение AndreyG_80 » 09.07.2007 (Пн) 9:49

Хакер
для этого нужно процедупу менять, а я этого сделать не могу

в программе я ее вызываю
oDataAdapter.SelectCommand.Parameters(0).Value = GUID,
а я хочу или % передать или NOT NULL

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 09.07.2007 (Пн) 10:10

Тогда облом. Если в процедуре написано =, значит =. И на null не проверишь потому что проверяется через is.
Лучший способ понять что-то самому — объяснить это другому.

AndreyG_80
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 169
Зарегистрирован: 10.03.2006 (Пт) 13:27

Сообщение AndreyG_80 » 09.07.2007 (Пн) 15:28

Вопрос снимаю. Сделал, правда не совсем так как хотел, но тоже работает. Спасибо вцем за помощ.
Код: Выделить всё
CREATE PROCEDURE  pProcedure
@VonDate datetime,
@BisDate datetime,
@var bit
AS

IF @var=0 BEGIN
   SELECT   *
   FROM   Table
   WHER   Datum1>=@VonDate and Datum2<@BisDate
END
ELSE BEGIN
   SELECT   *
   FROM   Table
END
GO

AndreyG_80
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 169
Зарегистрирован: 10.03.2006 (Пт) 13:27

Сообщение AndreyG_80 » 09.07.2007 (Пн) 15:30

как поставить для VonDate и BisDate значения по умолчанию?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.07.2007 (Пн) 20:01

Код: Выделить всё
CREATE PROCEDURE  pProcedure
@VonDate datetime = '2007-01-01',
@BisDate datetime = '2007-05-05'
AS
   SELECT *
   FROM   Table
   WHERE  (Datum1>=@VonDate OR @VonDate IS NULL) and (Datum2<@BisDate OR @BisDate IS NULL)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 225

    TopList  
cron