Главная страница
    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.01 c
14-81921
RV_Raven
2003-07-28 20:49
2003.08.25
Можно ли с помощью Delphi отловить опасный HTML код до того как


1-81798
Jao
2003-08-11 14:22
2003.08.25
Интеграция XML-схем в дельфу. С чего начать?


1-81814
Maximus34
2003-08-13 19:26
2003.08.25
Как присвоить переменной А.....


14-81915
Иван Шихалев
2003-07-27 19:48
2003.08.25
---|Ветка была без названия|---


3-81553
Berezne
2003-07-30 18:03
2003.08.25
Обновление БД





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский