И так тоже пробовал, всегда результат "пусто".Vik писал(а):Если у вас параметр №1 константа, сделайте так:Код: Выделить всё
sqlAddStr(str_handle, '''user'' = UserDeskRep.ownname ');
Прямой SQL
Модераторы: m0p3e, edward_K, Модераторы
Re: Прямой SQL
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Прямой SQL
Вроде должно фурычить..а в ms70|ora лог ничего не кидает ? Ну в крайнем случае профайлером посмотреть можно что на сервер приходит в запросе.
-
- Посетитель
- Сообщения: 43
- Зарегистрирован: 18 ноя 2009, 02:56
- Откуда: Гомель, Республика Беларусь
Re: Прямой SQL
Столкнулся с такой ситуацией. Таблица Pick заполняется после вызова RunInterface(L_KatOrg::GetSomeKontr,false); неким количеством записей. При просмотре ее в Саппорте кол-во записей абсолютно верное. Но при просмотре ее MS Server Management Studio кол-во абсолютно другое (в сотни или даже тысячи раз больше). Естественно, прямой SQL-запрос выдает мне полную чепуху. Приходится делать вторую выборку в CREATE VIEW. Но проблема в том, что запрос не постоянный, а может меняться в зависимости от некоторых условий. А 2 вьюхи, как я понимаю сделать в одном интерфейсе нереально. Пришлось разбивать на 2 интерфейса, что не есть красиво.
Так вот вопрос. Может кто сталкивался с таким недоразумением в Pick?
Так вот вопрос. Может кто сталкивался с таким недоразумением в Pick?
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Прямой SQL
Database.UserTableLocalCache=On у вас, ну либо вы забываете отфильтровать по пользователю, а в сапорте вы видите только свои записи.
Re: Прямой SQL
Почему нереально?Yuri писал(а):Столкнулся с такой ситуацией. Таблица Pick заполняется после вызова RunInterface(L_KatOrg::GetSomeKontr,false); неким количеством записей. При просмотре ее в Саппорте кол-во записей абсолютно верное. Но при просмотре ее MS Server Management Studio кол-во абсолютно другое (в сотни или даже тысячи раз больше). Естественно, прямой SQL-запрос выдает мне полную чепуху. Приходится делать вторую выборку в CREATE VIEW. Но проблема в том, что запрос не постоянный, а может меняться в зависимости от некоторых условий. А 2 вьюхи, как я понимаю сделать в одном интерфейсе нереально. Пришлось разбивать на 2 интерфейса, что не есть красиво.
Так вот вопрос. Может кто сталкивался с таким недоразумением в Pick?
Главная вьюха:
Код: Выделить всё
create view
as select
*
from
Pick
;
Код: Выделить всё
create view two
as select
*
from
Pick
;
Код: Выделить всё
create view three
as select
*
from
Pick
;
Код: Выделить всё
if tsOk=getfirst Pick where(())
{}
if tsOk=two.getfirst Pick where(())
{}
if tsOk=three.getfirst Pick where(())
{}
-
- Посетитель
- Сообщения: 43
- Зарегистрирован: 18 ноя 2009, 02:56
- Откуда: Гомель, Республика Беларусь
Re: Прямой SQL
Спасибо, но вопрос немного не о том был. А о несовпадении данных в таблице Pick.
Re: Прямой SQL
Насколько помню по курсам, Pick особая таблица. Т.е. она содержит данные для текущего пользователя и обрабатывается индивидуально. Вот тут http://tyumbit.ru/gal_forum/viewtopic.php?f=2&t=228 еще немного про Pick.
-
- Посетитель
- Сообщения: 43
- Зарегистрирован: 18 ноя 2009, 02:56
- Откуда: Гомель, Республика Беларусь
Re: Прямой SQL
А есть ли у меня возможность обратиться к полю Sys#UNRec в этой таблице в прямом запросе. Ибо как только я впихиваю или Pick.Sys#UNRec или Pick.UNRecgalover писал(а):Насколько помню по курсам, Pick особая таблица. Т.е. она содержит данные для текущего пользователя и обрабатывается индивидуально. Вот тут http://tyumbit.ru/gal_forum/viewtopic.php?f=2&t=228 еще немного про Pick.
результат запроса - ошибка 311.
Re: Прямой SQL
Просто Pick.nRec не прокатывает?
-
- Посетитель
- Сообщения: 43
- Зарегистрирован: 18 ноя 2009, 02:56
- Откуда: Гомель, Республика Беларусь
Re: Прямой SQL
А эти поля идентичны?galover писал(а):Просто Pick.nRec не прокатывает?
Re: Прямой SQL
вообще не вкурил тогда что за Sys#UNRec. Вот описание Pick
Код: Выделить всё
Create Table User.Pick "Выбранные элементы ВИПа"
Using "PICK.tmp"
#ifdef ComponentVersion
Component C_Common
#end
With Table_CODE = 1405
With Replace
(
NRec : tNRec "Номер записи"
, LastDate : Date "LASTDATE" // // используется в L_MakeDO
, FilialNo : Longint "FILIALNO"
, cRec : tNRec "номер элемента в выбираемой таблице"
, wList : Word "код списка (таблицы)"
, PickKol : tSumma "выбранное количество"
, PickNum : Word "порядок выбора"
)
With Index
(
Pick01 = wList + cRec
, Pick02 = wList + PickNum // для поддержания порядка выбора
);
Re: Прямой SQL
А, ну так такие служебные поля в любой таблице есть, они обычно с индексами связаны. Их в описании словаря нет, по ним DSQL работать не будет
-
- Посетитель
- Сообщения: 43
- Зарегистрирован: 18 ноя 2009, 02:56
- Откуда: Гомель, Республика Беларусь
Re: Прямой SQL
Грустно. Но все равно спасибо )galover писал(а):А, ну так такие служебные поля в любой таблице есть, они обычно с индексами связаны. Их в описании словаря нет, по ним DSQL работать не будет
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Прямой SQL
C пиком да..не все так просто
Самое надежное будет тут ловить его значения выбранные непосредствено в vip и собирать в цикле dsql запрос к скуль-cерверу,отдавая в цикле значение пика в качестве параметра, ну и выполнять потом.
Зато гарантированно словишь записи пика для текущего пользователя.
Самое надежное будет тут ловить его значения выбранные непосредствено в vip и собирать в цикле dsql запрос к скуль-cерверу,отдавая в цикле значение пика в качестве параметра, ну и выполнять потом.
Зато гарантированно словишь записи пика для текущего пользователя.