Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.08.25;
Скачать: [xml.tar.bz2];

Вниз

Возварщение параметров хранимой процедуры (MSSQL+DBExpress)   Найти похожие ветки 

 
Asker   (2003-07-29 13:32) [0]

Как получить результат выполнения хранимой процедуры в Deplhi из MSSQL используется DBExpress:

Моя процедура:
CREATE PROCEDURE dbo.nextoperatind
@IND INTEGER OUTPUT
AS
begin tran
SELECT @IND=MAX(operat) from idx WITH (TABLOCKX)
update idx set operat=@IND+1
commit tran
GO

пробовал:
EXECUTE NEXTOPERATIND :@IND OUTPUT;
- в результате получаю 0 вместо занчения
(или DECLARE @IND INTEGER;
EXECUTE NEXTOPERATIND @IND OUTPUT;
SELECT IND = @IND)

EXEC sp_serveroption SRV , "data access", "true";
SELECT * FROM OPENQUERY(SRV,"exec ballon.dbo.nextoperatind ")
- выдает, что нужен мой объявленный параметр @IND

Как можно объявить запрос, чтобы в результате выводился бы выходной параметр из хранимой процедуры?

При использовании TSQLStoredProc, если в ней задать процедуру nextoperatind и ручками прописать параметр (не видит сама она процедур сервера :-( ) то выдаст выход за границы диапазона параметра @IND


 
KSergey   (2003-07-29 13:53) [1]

Все делал только на ADO, но подозреваю, что одно и то же.

При использовании TSQLStoredProc, если в ней задать процедуру nextoperatind и ручками прописать параметр (не видит сама она процедур сервера :-( ) то выдаст выход за границы диапазона параметра @IND

Наверное, надо с типом параметра разобраться аккуратнее и не забыть описать, что он выходной из процедуры.

пробовал:
EXECUTE NEXTOPERATIND :@IND OUTPUT;
- в результате получаю 0 вместо занчения


Это я что-то вовсе не понимаю, так только параметры из программы можно впихать

(или DECLARE @IND INTEGER;
EXECUTE NEXTOPERATIND @IND OUTPUT;
SELECT IND = @IND)


А) убрать тчк с зпт совсем
Б) последнюю можно переписать как SELECT @IND, правда тогда имени поля не будет, но можно обратиться по индексу


 
Asker   (2003-07-29 14:10) [2]

Параметры на ней прописаны нормально, он же ругается просто при попытке оращения к нулевому параметру.

Да без точек с запятой - это то же самое

А насчет SELECT @IND я не понял: можно в виде примера?


 
KSergey   (2003-07-29 14:25) [3]

Asker © (29.07.03 14:10)
Параметры на ней прописаны нормально, он же ругается просто при попытке оращения к нулевому параметру.


Ну если нормально...

Да без точек с запятой - это то же самое

В смысле тоже самое? Хотя я все время путаюсь с этими нюансами именно дельфийского написания SQL текста (не пинать!), но там есть вроде какие-то тонкости.. Знаю только, что я никогда не пишу там тчк с зпт.
Совет: попробуйте все эти скрипты отладить в Query Analizer"е. Там проще найти ошибки, да и дельфи "не будет виновата".

А насчет SELECT @IND я не понял: можно в виде примера?

Мысли в слух.


 
Asker   (2003-07-29 14:39) [4]

Да я тоже частенько путаюсь с нюансами написания SQL текста в различных БД... В Query Analizer все прекрасно проходит. Это в дельфи не возвращаестя набор данных, если в одном запросе написано более одного оператора.(хотя сами команды прекрасно выполняются)


 
KSergey   (2003-07-29 14:45) [5]

Asker © (29.07.03 14:39)
Это в дельфи не возвращаестя набор данных, если в одном запросе написано более одного оператора.(хотя сами команды прекрасно выполняются)


Наглая ложь ;)
Я так делал, повторять сейчас лень.
К сожалению, проблем в вашем коде не вижу, правда здесь нет куска кода программы: как это все вызывается?


 
Asker   (2003-07-30 06:53) [6]

Query.Open;
или StoredProc.ExecProc :-)

Если работать через АДО, то действительно все работает(сам пробовал) - и через запрос и через хранимую процедуру. Глюки начинаются, если работать через DBExpress.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.08.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
1-81817
Nick2000
2003-08-13 10:22
2003.08.25
MS Word


1-81694
Miralex
2003-08-11 12:59
2003.08.25
Mouse right click


1-81630
Мак
2003-08-12 15:31
2003.08.25
Исключительные ситуации


1-81809
Borealis
2003-08-11 23:30
2003.08.25
Что запустит ShellExecute?


1-81628
ghost_by
2003-08-12 18:13
2003.08.25
вопрос про DBGrid.onDrawColumnCell





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский