Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 полное совпадение условий выборки  [new]
Снифф
Member

Откуда:
Сообщений: 125
Hi всем!
подскажите пожалуйста
в текстбоксе проставляется номер дома
выборка делается с условием

SELECT ... WHERE ALLTRIM(table1.cDom)=ALLTRIM(THISFORM.txtDom.Value) INTO ...

если значение текстбокса = "13", то в выбоку уходят также и дома с номером "1"
пробовали прописать SET EXACT ON
результат тот же

как сделать точную выборку?
спасиба
14 фев 08, 13:56    [5290324]     Ответить | Цитировать Сообщить модератору
 Re: полное совпадение условий выборки  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
Снифф
Hi всем!
подскажите пожалуйста
в текстбоксе проставляется номер дома
выборка делается с условием

SELECT ... WHERE ALLTRIM(table1.cDom)=ALLTRIM(THISFORM.txtDom.Value) INTO ...

если значение текстбокса = "13", то в выбоку уходят также и дома с номером "1"
пробовали прописать SET EXACT ON
результат тот же

как сделать точную выборку?
спасиба

Я бы сделал так:
LOCAL m.lcWhere
SET ANSI ON 
m.lcWhere = ALLTRIM(THISFORM.txtDom.Value)
SELECT ... WHERE ALLTRIM(table1.cDom) = m.lcWhere INTO ...
или так:
LOCAL m.lcWhere
m.lcWhere = ALLTRIM(THISFORM.txtDom.Value)
SELECT ... WHERE ALLTRIM(table1.cDom) ==  m.lcWhere INTO ...

С уважением, Алексей
14 фев 08, 14:03    [5290408]     Ответить | Цитировать Сообщить модератору
 Re: полное совпадение условий выборки  [new]
Sergey Sizov.
Guest
На Select-SQL эта настройка не действует. На него действует Set Ansi.
14 фев 08, 14:17    [5290547]     Ответить | Цитировать Сообщить модератору
 Re: полное совпадение условий выборки  [new]
Снифф
Member

Откуда:
Сообщений: 125
== то что нужно

тогда еще вопрос
а есть ли принципиальная разница, что в условии у нас проставлено значение контрола, а не переменная?
обязательно ли сначала значение контрола приравнять переменной и затем пользоваться этой переменной?
14 фев 08, 14:20    [5290594]     Ответить | Цитировать Сообщить модератору
 Re: полное совпадение условий выборки  [new]
Снифф
Member

Откуда:
Сообщений: 125
Sergey Sizov.
На Select-SQL эта настройка не действует. На него действует Set Ansi.

почему?
мы сейчас пробовали - все работает
Фокс 8-й
14 фев 08, 14:21    [5290605]     Ответить | Цитировать Сообщить модератору
 Re: полное совпадение условий выборки  [new]
Sergey Sizov.
Guest
В первом своем сообщенни написано:
если значение текстбокса = "13", то в выбоку уходят также и дома с номером "1"
пробовали прописать SET EXACT ON
результат тот же

то есть с SET EXACT ON не работает.
А теперь уже заработало? Или речь про "=="? Так это не настройка. Это оператор. А я про настройки. :)
14 фев 08, 14:28    [5290674]     Ответить | Цитировать Сообщить модератору
 Re: полное совпадение условий выборки  [new]
Снифф
Member

Откуда:
Сообщений: 125
Sergey Sizov.
В первом своем сообщенни написано:
если значение текстбокса = "13", то в выбоку уходят также и дома с номером "1"
пробовали прописать SET EXACT ON
результат тот же

то есть с SET EXACT ON не работает.
А теперь уже заработало? Или речь про "=="? Так это не настройка. Это оператор. А я про настройки. :)

про == написано
второй ответ пришел, пока мы писали свой

спасиба!!!!
14 фев 08, 14:33    [5290720]     Ответить | Цитировать Сообщить модератору
 Re: полное совпадение условий выборки  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
Снифф
== то что нужно

тогда еще вопрос
а есть ли принципиальная разница, что в условии у нас проставлено значение контрола, а не переменная?
обязательно ли сначала значение контрола приравнять переменной и затем пользоваться этой переменной?

Я делаю через переменные.
Свойства класса это поля таблицы. Черт его знает, этого VFP, как он в SELECT - SQL будет воспринимать ссылку на поля таблицы, которая не участвует в запросе. Я от греха подальше, на всякий случай, не использую в SQL запросах ссылки на свойства объектов.
С уважением, Алексей
14 фев 08, 14:41    [5290806]     Ответить | Цитировать Сообщить модератору
 Re: полное совпадение условий выборки  [new]
Гулин Федор
Member

Откуда: МИНСК
Сообщений: 1273
ALLTRIM(table1.cDom)==ALLTRIM(THISFORM.txtDom.Value)
конечно отработает но если индекс по cdom есть он не будет использован

имхо лучеш формировать строку условия
usl = [cDom=']+ THISFORM.txtDom.Value + [']
только надо смотреть чтобы размер поля и Value был одинаков
ну или padr(, размер поля)
размер поля - лучше тоже из базы читать - afield()

ну а дальше
loca for &usl
set filt tot &usl
select * from where &usl

ps единственный отриц. момент что если поля большие -или условий много то строка будет > 255 - и не прокатит -
тогда да только переменные

ззы
-- Я от греха подальше, на всякий случай, не использую в SQL запросах ссылки на свойства объектов.
Подписалмя
15 фев 08, 20:13    [5297655]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить