我的代码如下,TADOQuery直接设置的一个连接字符串,没有用到TADOConnection,请问每次运行完之后该如何关闭它所占的连接?我这样写对吗?
function TGatherList.AddNew: Boolean;
  var
    rowsAffected: Integer;
  begin
    FQuery.Close;
    FQuery.SQL.Clear;
    FQuery.SQL.Add('INSERT INTO GATHER_LIST VALUES(:MEMBERID, :URL, :SITE, ' +
    ':KIND, :CONTENT, :KEYWORD, :STATE, :RETRY, :ERRINFO, :CREATETIME, ' +
    'NULL, NULL);SELECT :ID = @@IDENTITY');    FQuery.Parameters.Clear;
    MakeInParam(FQuery.Parameters, ftString, 50, 'MEMBERID', self.FMemberID);
    MakeInParam(FQuery.Parameters, ftString, 50, 'URL', self.FURL);
    MakeInParam(FQuery.Parameters, ftString, 15, 'SITE', self.FSite);
    MakeInParam(FQuery.Parameters, ftString, 3, 'KIND', self.FKind);
    MakeInParam(FQuery.Parameters, ftMemo, 16, 'CONTENT', self.FContent);
    MakeInParam(FQuery.Parameters, ftString, 30, 'KEYWORD', self.FKeyword);
    MakeInParam(FQuery.Parameters, ftString, 2, 'STATE', self.FState);
    MakeInParam(FQuery.Parameters, ftSmallint, 2, 'RETRY', self.FRetryCounts);
    MakeInParam(FQuery.Parameters, ftString, 100, 'ERRINFO', self.FErrorInfo);    
    MakeInParam(FQuery.Parameters, ftDateTime, 8, 'CREATETIME', self.FCreateTime);
    MakeOutParam(FQuery.Parameters, ftInteger, 4, 'ID');    try
      rowsAffected := FQuery.ExecSQL;
      self.FID := Integer(FQuery.Parameters[10].Value);
    finally
      FQuery.Close;
    end;
    
    Result := rowsAffected > 0;
  end;