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

Вниз

ошибка при работе с параметрами запроса   Найти похожие ветки 

 
Scott Storch   (2011-07-20 12:04) [0]

Почему при освобождении памяти, занимаемой параметром IdParam, возникает ошибка AccessViolation по 0 адресу.


function TConnectionDataModule.GetSectionIdsFieldValue(Id: Integer): string;
var
 IdParam, ContentIdParam, ContanerIdParam: TDBISAMParam;
 SectionIdList: TStrings;
begin
 IdParam := CommandQuery.Params.CreateParam(ftInteger, ID_PARAM_NAME);
 try
   IdParam.AsInteger := Id;
   CommandQuery.SQL.Text := Format("SELECT primer_id FROM item WHERE (item_id = :%s) AND (flags <> 1)",
     [ID_PARAM_NAME]);
   CommandQuery.Open;
   SectionIdList := TStringList.Create;
   try
     SectionIdList.Add(CommandQuery.Fields[0].AsString);
     ContentIdParam := CommandQuery.Params.CreateParam(ftInteger,
       CONTENT_ID_PARAM_NAME);
     try
       ContentIdParam.AsInteger := Id;
       ContanerIdParam := CommandQuery.Params.CreateParam(ftInteger,
         CONTANER_ID_PARAM_NAME);
       try
         ContanerIdParam.AsInteger := StrToInt(SectionIdList[0]);
         CommandQuery.SQL.Text := Format("SELECT contaner_id FROM content WHERE (content_id = :%s) AND (contaner_id <> :%s) AND (flags <> 1)",
           [CONTENT_ID_PARAM_NAME, CONTANER_ID_PARAM_NAME]);
         CommandQuery.Open;
         CommandQuery.First;
         while not CommandQuery.Eof do
         begin
           CategoryIdList.Add(CommandQuery.Fields[0].AsString);
           CommandQuery.Next;
         end;
         Result := SectionIdList.DelimitedText;
       finally
         ContanerIdParam.Free;
       end;
     finally
       ContentIdParam.Free;
     end;
   finally
     SectionIdList.Free;
   end;
 finally
   IdParam.Free; // Access violation
 end;
end;


 
sniknik ©   (2011-07-20 12:16) [1]

любите справку источник знаний...

CreateParam method (TParams)
Creates a new field parameter object and inserts it into the Items list.


хочешь удалять сам? "высуни" его оттуда предварительно, там его тоже кто то удаляет, а лучше постигни дзен по примерам справки...


 
Scott Storch   (2011-07-20 12:25) [2]

Ясн. спасибо



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

Форум: "Начинающим";
Текущий архив: 2011.11.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.003 c
15-1311014236
NailMan
2011-07-18 22:37
2011.11.13
Шутим тут, плюшками балуемся...


2-1311744151
Шел мимо решил зайти
2011-07-27 09:22
2011.11.13
работа с excel


15-1310504388
Gu
2011-07-13 00:59
2011.11.13
Delphi Pulsar и Xe2 beta


2-1311265628
Tim
2011-07-21 20:27
2011.11.13
вывод real числа в dbgrid


4-1251951251
imp
2009-09-03 08:14
2011.11.13
Обработка сообщений от дочерних контролов





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