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

Вниз

ошибка при повторном открытиии ADOStoredProc   Найти похожие ветки 

 
Кирей   (2009-07-28 14:18) [0]

Первый раз пытаюсь работать с хранимыми процедурами. При первом вызове процедуры, отрабатывает все отлично, а при повторном - ошибка "Access violation at address 4dd63404 in module "sqloledb.dll". Read of address 00000018"
with ADOStoredProc1 do
  begin
   Close;
   ProcedureName:="poslug_add";
   Parameters.Refresh;
   Parameters.ParamByName("@rslist").Value:=adotable6.FieldValues["id"];
   Parameters.ParamByName("@rsposl").Value:=trim(ch);
   Prepared := True;
   ExecProc;
   close;
  end;

Что я сделал неправильно?


 
clickmaker ©   (2009-07-28 14:32) [1]

а close-то зачем?
close нужен, если open


 
Кирей   (2009-07-28 14:41) [2]

убрал, все равно эта ошибка


 
Anatoly Podgoretsky ©   (2009-07-28 14:42) [3]

Объект не создан.


 
Кирей   (2009-07-28 14:45) [4]


> Объект не создан.

Не знаю как исправить, помогите плз.


 
Anatoly Podgoretsky ©   (2009-07-28 14:46) [5]

Невозможно, приведено недостаточно информации.


 
Кирей   (2009-07-28 14:50) [6]

Сервер MS SQL Server 2000
Хранимая процедура
CREATE PROCEDURE dbo.poslug_add(@rslist int, @rsposl char(15))
AS
begin
INSERT INTO list_poslug
                     (id_list, id_usl, name, cena, pidstava, norma, norma2, norma3, master1, master2, master3, mastermoney, mastermoney2, mastermoney3, norma_avto)
SELECT     @rslist AS id_list, poslugi.id_usl AS id_usl, poslugi.name AS name, poslugi.summa AS cena, poslugi.pidstava, poslugi.norma, poslugi.norma2,
                     poslugi.norma3, poslugi.master1, poslugi.master2, poslugi.master3, insps.zarplata AS mastermoney, insps2.zarplata AS mastermoney2,
                     insps3.zarplata AS mastermoney3, poslugi.norma_avto
FROM         SP_poslug poslugi LEFT OUTER JOIN
                     SP_insp insps ON insps.id_insp = poslugi.master1 LEFT OUTER JOIN
                     SP_insp insps2 ON insps2.id_insp = poslugi.master2 LEFT OUTER JOIN
                     SP_insp insps3 ON insps3.id_insp = poslugi.master3
WHERE     (poslugi.id_usl IN (select num from Temp_tranzit  where komp=@rsposl))
end
GO

Что еще нужно, говорите.


 
Кирей   (2009-07-28 16:11) [7]

разобрался,  Prepared := True; было лишнее


 
Ega23 ©   (2009-07-28 16:46) [8]


> разобрался,  Prepared := True; было лишнее


Нет, не лишнее.
А вот в твоём коде Parameters.Refresh; - вот это, походу, лишнее.



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
15-1249292576
@!!ex
2009-08-03 13:42
2009.10.04
Как сделать ICQ Логирование?


3-1227778320
Вадим
2008-11-27 12:32
2009.10.04
SELECT к нескольким БД


9-1182180956
@!!ex_
2007-06-18 19:35
2009.10.04
Конфликт тени и прозрачных текстур.


2-1249235282
redlord
2009-08-02 21:48
2009.10.04
почему Tacropdf открывает не все файлы


2-1248564636
xyz
2009-07-26 03:30
2009.10.04
занесение записи в БД ADO