Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.16;
Скачать: CL | DM;

Вниз

Проблема с вызовом хранимой процедуры MSSQL+ADO   Найти похожие ветки 

 
kvit ©   (2003-12-19 07:45) [0]

Есть хранимая процедура:
CREATE PROCEDURE [P1]
AS

insert into TABLE1 (npp, name)
values (1, "qwerty")

select * from TABLE1

но делфи выдает ошибку, что данная процедура не выдает result set, хотя через BDE Query - работает.
Хранимые процедуры с чистым select или insert работают, а в смешенном исполнении ругаются. Как быть?

Вызов из делфи:

exec P1

ADOQuery.Open;


 
BoxTer ©   (2003-12-19 07:53) [1]

а зачем ADOQuery.Open...
Просто: P1.Open - сделает, что нужно и вернет набор данных


 
kvit ©   (2003-12-19 08:45) [2]

не понял запись P1.Open!
Это что такой ADO-объект или SQL строка?


 
Nikolay M. ©   (2003-12-19 09:12) [3]

А через ADOStoredProc работает?


 
kvit ©   (2003-12-19 09:25) [4]

Через ADOStroreProc тоже не работает!
там SQL строка: exec P1

а открываю как: ADOStoreProc.Open

примечание!
insert отрабатывает, а select - нет!
тоже самое и через ADOQuery.
ошибка нет возвращаемого result set


 
Shirson ©   (2003-12-19 09:33) [5]

А если так?

CREATE PROCEDURE [P1]
AS

set nocount on

insert into TABLE1 (npp, name)
values (1, "qwerty")

set nocount off

select * from TABLE1


 
Nikolay M. ©   (2003-12-19 09:39) [6]

У меня прекрасно работает. А npp, случайно, не первичный ключ?
Если грохнуть все данные из таблицы и сделать инсерт только поля name?


 
kvit ©   (2003-12-19 09:51) [7]

дело в том, что настоящая хранимая процедура делает большое количество вычисления, а в результате должен быть select результата. Можно сделать и через буфферную таблицу и обойтись двумя прецедурами обработки и выборки, но не хотелось бы ломать свой стереотип BDE, где это все прекрасно работало!


 
Ega23 ©   (2003-12-19 09:57) [8]


> kvit © (19.12.03 09:51) [7]

Set NoCount ON/OFF однозначно.


 
Nikolay M. ©   (2003-12-19 10:06) [9]


> Set NoCount ON/OFF

Имхо, ошибка была бы другая, а не "отсутствие резалтсета".


 
Shirson ©   (2003-12-19 10:15) [10]

Вообще-то странно. У меня похожая процедура используется и без nocount прекрасно работатет. И на отсутствие датасета не ругается. (причём таких процедур и не одна совсем)

Тут, видимо, что-то с самой таблицей.



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

Текущий архив: 2004.01.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
1-49604
Dz
2004-01-01 19:53
2004.01.16
Как засунуть картинку (Image) в StatusBar?


8-49651
Kremen
2003-09-15 11:28
2004.01.16
Как установить текущую точку в Канвасе на форме?


3-49428
tesseract
2003-12-18 15:13
2004.01.16
подскажите нормальный скоростной компонент для работы с dBase


14-49737
Style
2003-12-24 11:49
2004.01.16
Объясните мне пожалуйста?


1-49638
Brut
2004-01-04 14:54
2004.01.16
Как использовать типы и классы в различных модулях.