Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как создавать remote view с помощью запроса? / 11 сообщений из 11, страница 1 из 1
21.03.2007, 20:43
    #34407247
Ambee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создавать remote view с помощью запроса?
Каковы особенности синтаксиса в фокс про при написании 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
21.03.2007, 22:08
    #34407337
BMJ
BMJ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создавать remote view с помощью запроса?
" ; " позволяет переносить строку на следующую, при большой длине, не разрывая команду которая пишется в одно строку.
...
Рейтинг: 0 / 0
21.03.2007, 22:14
    #34407343
Ambee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создавать remote view с помощью запроса?
А SQL-запрос весь считается одной командой,которую надо писать в одну строку?
...
Рейтинг: 0 / 0
21.03.2007, 22:48
    #34407368
BMJ
BMJ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создавать remote view с помощью запроса?
Когда разбивается на несколько строк (без " ;"), FOX показывает ошибку.
...
Рейтинг: 0 / 0
22.03.2007, 06:02
    #34407507
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создавать remote view с помощью запроса?
AmbeeА SQL-запрос весь считается одной командой,которую надо писать в одну строку?
Собственно команда здесь одна SELECT. А дальше описывается, что как сколько и по какому случаю. Поэтому вся эта байда должна попасть в интерпретатор одним блоком. Для фокса, дабы обозначить одну команду, последняя должна либо влазить в одну строку, либо в несколько строк, причем перенос строки обозначается ;
Для SQL серваков наоборот. Им пофиг, есть ли у тебя переносы строки в запросе. А вот разделитель запросов как раз ; в большинстве случаев.
...
Рейтинг: 0 / 0
22.03.2007, 07:56
    #34407536
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создавать remote view с помощью запроса?
Код: 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
22.03.2007, 08:00
    #34407543
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создавать remote view с помощью запроса?
сформируйте значение
переменной или свойства
с пом.

text to ... noshow pretext 16
....
endtext
...
Рейтинг: 0 / 0
23.03.2007, 00:42
    #34410196
Ambee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создавать remote view с помощью запроса?
2alex 11100
че-то как-то совсем не понятно, что это и с чем его едят...
...
Рейтинг: 0 / 0
23.03.2007, 09:33
    #34410463
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создавать remote view с помощью запроса?
Код: 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
24.03.2007, 20:03
    #34413667
Ambee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создавать remote view с помощью запроса?
Теперь я пытаюсь сделать так: сначала создается 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
26.03.2007, 09:08
    #34414575
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создавать remote view с помощью запроса?
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как создавать remote view с помощью запроса? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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