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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
2-1311063552
Ш-К
2011-07-19 12:19
2011.11.13
Толстые и тонкие клиенты


15-1310643873
Ламот
2011-07-14 15:44
2011.11.13
Редактирование таблиц Excel


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


2-1311186986
rammic
2011-07-20 22:36
2011.11.13
Текст в Edit как математическая функция


2-1311690897
nofical
2011-07-26 18:34
2011.11.13
Работа с ReadProcessMemory, как прочитать данные ячейки?