Главная страница
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.068 c
14-49686
Alex_x
2003-12-26 12:33
2004.01.16
TurboPower


1-49517
Shur2005
2004-01-02 09:26
2004.01.16
TImage


3-49388
pavell
2003-12-20 15:14
2004.01.16
SQl-запросы


14-49692
DillerXX
2003-12-25 20:04
2004.01.16
Стих


3-49441
-=GUEST=-
2003-12-21 14:28
2004.01.16
TDBGrid + TWebBrowser = глюк