powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подстановка значения property в SQL запрос через ?
11 сообщений из 11, страница 1 из 1
Подстановка значения property в SQL запрос через ?
    #35427033
antonov60
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Необходимо получить выборку документов на определенное число
Дата находится в property формы, запрос выполняется через курсор-адаптер

ThisForm.NowDate = {2008-01-01}

На запрос Select * from payment where Payment.PayDate=?ThisForm.NowDate

Fox перезапрашивает значение ThisForm.NowDate, после этого запрос выполняется.
Переменные типа Local при подстановке по ? в запрос внутри формы проходят.

Здесь есть какая-то тонкость, или придется пользоваться DtoC(ThisForm.NowDate) и,
аналогично, Str() для чисел, либо работать только через переменные типа Local ?

FoxPro v9 SP2

Прошу помощи
...
Рейтинг: 0 / 0
Подстановка значения property в SQL запрос через ?
    #35427088
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо
antonov60 {2008-01-01}

Надо писать
Код: plaintext
{^ 2008 - 01 - 01 }
...
Рейтинг: 0 / 0
Подстановка значения property в SQL запрос через ?
    #35427121
antonov60
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут дело не в крышечке перед датой.

Прилагаю пример формы с выборкой из базы банков с параметром сначала
в локальной переменной, затем в Property формы

Посмотрите, пожалуйста, может что-то не так делаю,

но при запросе с параметром в виде локальной перменной все выбирается,
а при пераметре в Property CAD в диалоге запрашивает значение параметра.
...
Рейтинг: 0 / 0
Подстановка значения property в SQL запрос через ?
    #35427124
antonov60
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Архив что-то не прикладывается
...
Рейтинг: 0 / 0
Подстановка значения property в SQL запрос через ?
    #35427138
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот измененные строки. Дополнительно внимательно читать про области видимости переменных.

Код: plaintext
LOCAL BankCAD &&,LNum

Код: plaintext
1.
BNum = ThisForm.BNum
BankCAD.SelectCmd = "select BANKNUM, BANKNAME from BANKDIC where banknum = ?BNum "
...
Рейтинг: 0 / 0
Подстановка значения property в SQL запрос через ?
    #35427146
antonov60
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey

BNum = ThisForm.BNum - это я понимаю присваивание значения свойства локальной переменной,
т.е. подстановка пойдет лишь через локальную переменную.

а && в Local - это что ?
...
Рейтинг: 0 / 0
Подстановка значения property в SQL запрос через ?
    #35427154
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
&& - это камент (в конце прогр. строки) - читай хелп.
...
Рейтинг: 0 / 0
Подстановка значения property в SQL запрос через ?
    #35427159
antonov60
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А об'являть переменную BNum как-то нужно ? (типа Local или др.)
...
Рейтинг: 0 / 0
Подстановка значения property в SQL запрос через ?
    #35427162
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey SizovНадо писать
Код: plaintext
{^ 2008 - 01 - 01 }
если бы захотелось в SQL передать именно так, т.е. не через переменную, тогда просто добавить знак вопроса:
Код: plaintext
Select * from payment where Payment.PayDate=?{^ 2008 - 01 - 01 }
и так же можно юзать фоксовые функции, главное чтобы не было ссылок на Value каких-либо объектов.
Код: plaintext
1.
2.
3.
*PRIVATE dBNum && для случая, если SQL будет выполнен в подпрограмме/функции
*LOCAL dBNum && для случая, если SQL будет выполнен прямо здесь же
dBNum = ThisForm.BNum
Select * from payment where Payment.PayDate=?IIF(Empty(m.dBNum),.NULL.,m.dBnum)
хинт - если юзер оставит дату пустой, SQL такое не схавает, ему надо вместо пустой даты .NULL.
...
Рейтинг: 0 / 0
Подстановка значения property в SQL запрос через ?
    #35427163
antonov60
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо, все понятно
...
Рейтинг: 0 / 0
Подстановка значения property в SQL запрос через ?
    #35427183
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antonov60А об'являть переменную BNum как-то нужно ? (типа Local или др.)
Если и объявлять, то как Private. Именно такая область видимости устанавливатся по умолчанию, при создании переменной без объявления. А закоментировал я именно объявление LNum как локальной перменной. Еще раз, читайте про области видимости переменных до прояснения.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подстановка значения property в SQL запрос через ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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