Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SELECT и подстановочные значения (что эт за позднее связывание?) / 4 сообщений из 4, страница 1 из 1
27.11.2009, 15:11
    #36335956
_usa__83_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT и подстановочные значения (что эт за позднее связывание?)
Всем, читающим, доброго ...

пишу процедуру:

PROCEDRE proc_name
LPARAMETERS tbl_name, fld_name, fld_val

** хочу получить записи содержащиеся в таблице tbl_name в поле fld_name со значением fld_val
** пишу:

SELECT (fld_name) FROM (tbl_name) WHERE (fld_name)=(fld_val)
BROWSE

ENDPROC

в итоге получаю курсор с одним полем, где все записи содержат "fld_name"
но что самое интересное, если написать:

SELECT ordrnm FROM (tbl_name) WHERE ordrnm=(fld_val)
BROWSE

то все замечательно.... ordrnm - имя реально существующего поля таблицы orderer добавленный
в DataEnvironment ...

вызов TYPE() для tbl_name дает "U"
для fld_name дает "C"

хотя все параметры передаются из формы, тип там есть listbox (list1) и с кнопочки
вызов осуществляется:

do progs/proc_name.prg WITH this.parent.list1.rowsource, this.parent.list1.controlsouce,
this.parent.list1.value

Вопрос? это что ж получается, что таблицу он понимает на раннем связывании а поле на позднем?
В каком формате должна быть подстановка имени поля в SELECT чтоб Fox ее правильно разрешал?
...
Рейтинг: 0 / 0
27.11.2009, 15:17
    #36335975
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT и подстановочные значения (что эт за позднее связывание?)
В каком формате должна быть подстановка имени поля в SELECT чтоб Fox ее правильно разрешал?

SELECT &fld_name FROM (tbl_name) WHERE (fld_name)=(fld_val)
...
Рейтинг: 0 / 0
27.11.2009, 15:32
    #36336037
SELECT и подстановочные значения (что эт за позднее связывание?)
_usa__83_ PROCEDRE proc_name
LPARAMETERS tbl_name, fld_name, fld_val

** хочу получить записи содержащиеся в таблице tbl_name в поле fld_name со значением fld_val
** пишу:

SELECT (fld_name) FROM (tbl_name) WHERE (fld_name)=(fld_val)
BROWSE
Вопрос? это что ж получается, что таблицу он понимает на раннем связывании а поле на позднем?О каком таком связывании вруг пошла речь в SQL? В каком стандарте SQL написано хоть что-то о каком-то связывании?
Синаксис любого языка надо изучать, а не придумывать. Выражения имени можно использовать там, где ожидается только имя, а не список выражений.
В каком формате должна быть подстановка имени поля в SELECT чтоб Fox ее правильно разрешал?Макроподстановка.
Код: plaintext
SELECT &fld_name FROM (tbl_name) WHERE &fld_name =fld_val
...
Рейтинг: 0 / 0
27.11.2009, 16:31
    #36336183
_usa__83_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT и подстановочные значения (что эт за позднее связывание?)
проходящий.,

Ок попоробуем....
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SELECT и подстановочные значения (что эт за позднее связывание?) / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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