Главная страница
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.018 c
9-49381
MeF88
2003-07-02 15:18
2004.01.16
Alpha-channel в Direct3D


14-49679
Nikolay M.
2003-12-26 19:56
2004.01.16
В.В. Путин учит принимать парика :?))))))))))


4-49808
Gerda
2003-11-12 22:26
2004.01.16
Как получить ссылку на иконку окна


14-49704
MadAngel
2003-12-25 16:14
2004.01.16
Помогите с The Bat om


14-49694
НовичокНаФоруме
2003-12-26 10:35
2004.01.16
Win XP with SP1