powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как создавать remote view с помощью запроса?
11 сообщений из 11, страница 1 из 1
Как создавать remote view с помощью запроса?
    #34407247
Ambee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Каковы особенности синтаксиса в фокс про при написании sql-запросов (для создания remote view) и в чем назначение точки с запятой? почему,например, такой правильный с точки зрения MS SQL запрос фокс не понимает
SELECT
max(case n when 0 then left(ltrim(role_name),5) else '' end)+
max(case n when 1 then ','+left(ltrim(role_name),5) else '' end)+
max(case n when 2 then ','+left(ltrim(role_name),5) else '' end)+
max(case n when 3 then ','+left(ltrim(role_name),5) else '' end)+
max(case n when 4 then ','+left(ltrim(role_name),5) else '' end)+
max(case n when 5 then ','+left(ltrim(role_name),5) else '' end)+
max(case n when 6 then ','+left(ltrim(role_name),5) else '' end)+
max(case n when 7 then ','+left(ltrim(role_name),5) else '' end)
all_rol
FROM
(select o_role_id rol, n=
(select count(*)
from org_roles
where r_norg_id=?nnorg_id
and o_role_id<tab1.o_role_id
)
from org_roles tab1
where r_norg_id=?nnorg_id) tab2
JOIN role on role_id=rol
...
Рейтинг: 0 / 0
Как создавать remote view с помощью запроса?
    #34407337
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
" ; " позволяет переносить строку на следующую, при большой длине, не разрывая команду которая пишется в одно строку.
...
Рейтинг: 0 / 0
Как создавать remote view с помощью запроса?
    #34407343
Ambee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А SQL-запрос весь считается одной командой,которую надо писать в одну строку?
...
Рейтинг: 0 / 0
Как создавать remote view с помощью запроса?
    #34407368
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
Когда разбивается на несколько строк (без " ;"), FOX показывает ошибку.
...
Рейтинг: 0 / 0
Как создавать remote view с помощью запроса?
    #34407507
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmbeeА SQL-запрос весь считается одной командой,которую надо писать в одну строку?
Собственно команда здесь одна SELECT. А дальше описывается, что как сколько и по какому случаю. Поэтому вся эта байда должна попасть в интерпретатор одним блоком. Для фокса, дабы обозначить одну команду, последняя должна либо влазить в одну строку, либо в несколько строк, причем перенос строки обозначается ;
Для SQL серваков наоборот. Им пофиг, есть ли у тебя переносы строки в запросе. А вот разделитель запросов как раз ; в большинстве случаев.
...
Рейтинг: 0 / 0
Как создавать remote view с помощью запроса?
    #34407536
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
local lcSqlCmd noshow pretext  16 
   select *
        from tt
           left join ....
        where t= 1 
text
sqlexec(lnHandle,lcSqlCmd,'..')
* или
text to oCad.SelectCmd ...

...
Рейтинг: 0 / 0
Как создавать remote view с помощью запроса?
    #34407543
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сформируйте значение
переменной или свойства
с пом.

text to ... noshow pretext 16
....
endtext
...
Рейтинг: 0 / 0
Как создавать remote view с помощью запроса?
    #34410196
Ambee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2alex 11100
че-то как-то совсем не понятно, что это и с чем его едят...
...
Рейтинг: 0 / 0
Как создавать remote view с помощью запроса?
    #34410463
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
local lcSQLCmd
text to lcSQLCmd noshow pretext  7 
	SELECT
	max(case n when  0  then left(ltrim(role_name), 5 ) else '' end)+
	max(case n when  1  then ','+left(ltrim(role_name), 5 ) else '' end)+
	max(case n when  2  then ','+left(ltrim(role_name), 5 ) else '' end)+
	max(case n when  3  then ','+left(ltrim(role_name), 5 ) else '' end)+
	max(case n when  4  then ','+left(ltrim(role_name), 5 ) else '' end)+
	max(case n when  5  then ','+left(ltrim(role_name), 5 ) else '' end)+
	max(case n when  6  then ','+left(ltrim(role_name), 5 ) else '' end)+
	max(case n when  7  then ','+left(ltrim(role_name), 5 ) else '' end)
	all_rol
	FROM 
	(select o_role_id rol, n= 
	(select count(*) 
	from org_roles 
	where r_norg_id=?nnorg_id
	and o_role_id<tab1.o_role_id
	) 
	from org_roles tab1
	where r_norg_id=?nnorg_id) tab2
	JOIN role on role_id=rol
endtext
if sqlexec(ln, lcSQLCmd, 'alias')> 0 
    ****
    
* можете в свойство сунуть

text to oCAD.SelectCMD noshow pretext  7 
	SELECT
	max(case n when  0  then left(ltrim(role_name), 5 ) else '' end)+
	max(case n when  1  then ','+left(ltrim(role_name), 5 ) else '' end)+
	max(case n when  2  then ','+left(ltrim(role_name), 5 ) else '' end)+
	max(case n when  3  then ','+left(ltrim(role_name), 5 ) else '' end)+
	max(case n when  4  then ','+left(ltrim(role_name), 5 ) else '' end)+
	max(case n when  5  then ','+left(ltrim(role_name), 5 ) else '' end)+
	max(case n when  6  then ','+left(ltrim(role_name), 5 ) else '' end)+
	max(case n when  7  then ','+left(ltrim(role_name), 5 ) else '' end)
	all_rol
	FROM 
	(select o_role_id rol, n= 
	(select count(*) 
	from org_roles 
	where r_norg_id=?nnorg_id
	and o_role_id<tab1.o_role_id
	) 
	from org_roles tab1
	where r_norg_id=?nnorg_id) tab2
	JOIN role on role_id=rol
endtext

бысто, наглядно и удобно
...
Рейтинг: 0 / 0
Как создавать remote view с помощью запроса?
    #34413667
Ambee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Теперь я пытаюсь сделать так: сначала создается rv с пустым столбцом, а потом при инициализации формы я ее хочу заполнить. Вот только фокс говорит, что tmp work не найден - где и как его описывать?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
LOCAL lcSql
TEXT TO LcSql NOSHOW TEXTMERGE
*создается таблица -  1  столбец id организации,  2  столбец - сокращенно все 
*роли через запятую
 SELECT org,
  max(case n when  0  then rol else '' end)+
  max(case n when  1  then ','+rol else '' end)+
  max(case n when  2  then ','+rol else '' end)+
  max(case n when  3  then ','+rol else '' end)+
  max(case n when  4  then ','+rol else '' end)+
  max(case n when  5  then ','+rol else '' end)+
  max(case n when  6  then ','+rol else '' end)+
  max(case n when  7  then ','+rol else '' end)
all_rol

FROM 

(select left(ltrim(role_name), 6 ) rol, r_norg_id org, n= 
 (select count(*) 
    from org_roles 
      where r_norg_id=tab1.r_norg_id
        and o_role_id<tab1.o_role_id
  ) 
 from org_roles tab1 join role on role_id=o_role_id
) tab2
group by org  

      
ENDTEXT  
LOCAL ln

IF  SQLExec(ln, LcSql, 'TmpWrk')> 0  THEN 

  SELECT TmpWrk
  SELECT rv_allroles
  SCAN
   DO case
           CASE norg_id=org
             Replace all_roles WITH all_rol
   ENDCASE
  ENDSCAN
  
ENDIF
...
Рейтинг: 0 / 0
Как создавать remote view с помощью запроса?
    #34414575
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как создавать remote view с помощью запроса?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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