Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
Вызываю процедуру SQL сервера из фокса командой SQLEXEC(), передавая при этом параметры. Процедура выполняется нормально, но выходные параметры в фокс не возвращаются (а должны). Процедура не моя, мож в ней чего подправить нужно? (в Interbase, например, нужно было suspend ставить) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 10:53 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
код в студию! ;)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 11:10 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
Код процедуры имеется ввиду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 13:16 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
Это часть SQL-процедуры (начало и конец): create procedure GET_ART_STRUCTURE ( @ProjectAID INTEGER, @Expand INTEGER, @UserID INTEGER, @Differents INTEGER, @HidingON INTEGER, @ManualLinks INTEGER, @SelectID INTEGER OUTPUT, @ResultID INTEGER OUTPUT, @RecordCount INTEGER OUTPUT) as DECLARE @resVariants CHAR DECLARE @IsHidden INTEGER DECLARE @c1rec_PART_AID INTEGER DECLARE @c1rec_VARIANTS CHAR DECLARE @h1rec_PART_AID INTEGER DECLARE @return_status INTEGER .................................................. SelectID, ResultID - этим переменным задаются значения и их необходимо вернуть в Visual Fox. .................................................. SET @RecordCount = (SELECT COUNT(*) FROM ARTSTRU WHERE SELECT_ID = @ResultID) GO ............................. Вызов из VF осуществляется командой SqlExec(descriptor, 'EXEC GET_ART_STRUCTURE 3367,1,0,0,1,1, @SelectID output, @ResultID output,@RecordCount output') По идее, должен вернуться курсор с тремя переменными ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 13:18 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
Этот вопрос уже обсуждался не однократно. Посмотри здесь например.\r /topic/56793 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 13:20 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
А надо бы так Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 13:25 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
Ой, очепятка! Код: plaintext 1. 2. 3. 4. Ну, вобщем, смысл в том, что перед вызовом SQLexec(), нужно проинициализировать в fox-е переменные, в которые ты собсвенно собираешься получить результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 13:31 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
andrew_Pr , а ты пробовал? Это не помогает. Ведь sqlexec() передает на server только символьную строку, а получает временную таблицу(курсор) с полями, какие должны быть переменные возвращены (по крайней мере так работает с InterBase). А то что SQL-server должен возвратить значения прямо в переменные VFP - это, по моему, фигня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 14:40 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 14:51 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
ЗЫ до этого ессно три переменные сначала определить как у andrew_Pr ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 14:53 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
Hel!Riser, sqlexec работает, процедура на сервере выполняется - все хорошо, НО параметры в VFP НЕ возвращает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 14:59 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
2 Hel!Riser Не именно так как написал andrew_Pr ?@SelectID, ?@ResultID,?@RecordCount Т.е. кроме вопросительного знака еще и символ "@" 2 Voevoda Небольшое уточнение: Фоксовая переменная должна иметь имя, содержащее более 1 символа. Если будет только один символ, то этот код не пройдет. local cID, a cID='' a='' * Этот код не сработает =SQLEXEC(nHandler, "EXEC MyProc ?@a") * А вот это пройдет =SQLEXEC(nHandler, "EXEC MyProc ?@cID") И вообще-то обмен между FoxPro и сервером несколько больше чем: передал строку - получил курсор. Просто одномоментно FoxPro может прочитать только один курсор. Но есть еще набор методов, позволяющих прочитать больше одного курсора полученных от сервера именно за один раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 15:03 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
ВладимирМ, thanks. Все работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 15:14 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
4 ВладимирМ Точна! :) Припарил. Если чтоб вернуть, собака нужна. не нужна если просто передать параметр ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 15:17 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
2 ВладимирМ Код: plaintext Есть процедура, в которой 2 селекта, тогда вызов: SQLEXEC(,"EXEC sp_myProc","MyAlias1") возвращает две таблицы MyAlias1 и RESULT1, как сделать, чтоб явно получить MyAlias1 и MyAlias2 Thanks! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 13:40 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
2 ВладимирМ Код: plaintext Есть процедура, в которой 2 селекта, тогда вызов: SQLEXEC(,"EXEC sp_myProc","MyAlias1") возвращает две таблицы MyAlias1 и RESULT1, как сделать, чтоб явно получить MyAlias1 и MyAlias2 Thanks! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 13:41 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
Читай описание команды SQLMoreResult(). В описании этой команды дан пример ее использования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 13:46 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
2 ВладимирМ Это понятно, открываются 2 рабочие области, и я переключаюсь между ними. Но я хочу именить ALIAS второй области с SQLResult1 на нужный мне, чтоб потом обращаться типа Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 14:16 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
2 ВладимирМ Это понятно, открываются 2 рабочие области, и я переключаюсь между ними. Но я хочу именить ALIAS второй области с SQLResult1 на нужный мне, чтоб потом обращаться типа Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 14:18 |
|
||
|
Хранимые процедуры SQL
|
|||
|---|---|---|---|
|
#18+
В VFP9 в команде SQLMoreResults() можно указывать имя алиаса. А вообще-то, можно переоткрыть полученный курсор в другой рабочей области с нужным алиасом Код: plaintext 1. Переоткрытие курсора - это практически мгновенная операция. Никаких дополнительных обращений к серверу нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 14:44 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32343344&tid=1594321]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
92ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
| others: | 260ms |
| total: | 485ms |

| 0 / 0 |
