Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.10.04;
Скачать: [xml.tar.bz2];

Вниз

ошибка при повторном открытиии 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
2-1249386539
xyz
2009-08-04 15:48
2009.10.04
прочитать рисунок из БД


1-1218039013
andreil
2008-08-06 20:10
2009.10.04
Быстрое сравнение строк?


15-1249070497
тимохов
2009-08-01 00:01
2009.10.04
Кто интересуется пассажирской авиацией?


2-1249027346
xyz
2009-07-31 12:02
2009.10.04
из-за чего ADOCommand1.Execute выдает 1 запись, когда их много


15-1249295142
McSimm
2009-08-03 14:25
2009.10.04
Извините, ветка испорчена в результате сбоя





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