title: Delphi: Reading number of columns + names from dataset?
body: <p>Since Embarcadero's NNTP server stopped responding since yesterday, I figured I could ask here: I work with a non-DB-aware grid, and I need to loop through a dataset to extract the number of columns, their name, the number of rows and the value of each fields in each row.</p>
  
  <p>I know to read the values for all the fields in each row, but I don't know how to extract column-related information. Does someone have some code handy?</p>
  
  <pre><code>procedure TForm1.FormCreate(Sender: TObject);
  var
    index : Integer;
  begin
    With ASQLite3DB1 do begin
        DefaultDir := ExtractFileDir(Application.ExeName);
        Database := 'test.sqlite';
        CharacterEncoding := 'STANDARD';
        Open;
    end;
  
    With ASQLite3Query1 do begin
      ASQLite3Query1.Connection := ASQLite3DB1;
  
      SQL.Text := 'CREATE TABLE IF NOT EXISTS mytable (id INTEGER PRIMARY KEY, label VARCHAR)';
      ExecSQL;
  
      SQL.Text := 'INSERT INTO mytable (label) VALUES ("dummy label")';
      ExecSQL;
  
      SQL.Text := 'SELECT id AS Identification, label AS Label FROM mytable';
      Open;
  
      //How to get column numbers + names to initialized grid object?
      for index := 0 to ASQLite3Query1. - 1 do begin
  
      end;
  
      for index := 0 to FieldCount - 1 do begin
        ShowMessage(Fields[index].AsString);
      end;
    end;
  end;
  </code></pre>
  
  <p>Thank you.</p>