Главная страница
    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
15-1249030784
Медвежонок Пятачок
2009-07-31 12:59
2009.10.04
Еще один ....


15-1249288550
blackman
2009-08-03 12:35
2009.10.04
Борис Стругацкий. Правила жизни


1-1218117173
RAndrey
2008-08-07 17:52
2009.10.04
Access Violation в потоке


15-1249012794
brother
2009-07-31 07:59
2009.10.04
С Днем системного администратора!


15-1248597219
Kerk
2009-07-26 12:33
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский