Форум: "Начинающим";
Текущий архив: 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