Это мой первый пост, и я все еще много узнаю о Delphi и общем программировании. Поэтому, пожалуйста, не стесняйтесь учить.
Я пытаюсь заполнить TStringList именами столбцов из Access. Затем отобразите их в TStringGrid. В настоящее время я получаю сообщение об ошибке «Требуется тип массива». Но я боюсь, что может быть больше.
procedure TFormDB1DataMapping.FieldNamesToGrid();
var
myFieldnames: TStringList;
I: Integer;
begin
if not Form1.ConnIn1.Connected then begin
try
//Set Connection Parameters and connect
Form1.ConnIn1Parameters;
Form1.ConnIn1.Connected:=True
finally
end;
end;
myFieldnames := TStringList.Create;
Form1.ConnIn1.GetFieldNames('','',Form1.ComboBoxDB1TableName.Text,'',myFieldnames);
StringGridDB1.RowCount := StringGridDB1.RowCount + 1;
for I:= StringGridDB1.RowCount - 1 downto 1 do
StringGridDB1.Rows[I] := StringGridDB1.Rows[I - 1];
StringGridDB1.Cols[0][1] := myFieldnames.Text;
myFieldnames.Free;
End;
Рабочая процедура с ответом ниже
procedure TFormDB1DataMapping.FieldNamesToGrid();
var
myFieldnames: TStringList;
I: Integer;
begin
if not Form1.ConnIn1.Connected then begin
try
//Set Connection Parameters and connect
Form1.ConnIn1Parameters;
Form1.ConnIn1.Connected:=True
finally
end;
end;
myFieldnames := TStringList.Create;
Form1.ConnIn1.GetFieldNames('','',Form1.ComboBoxDB1TableName.Text,'',myFieldnames);
StringGridDB1.RowCount := StringGridDB1.RowCount + 1;
StringGridDB1.RowCount := myFieldnames.Count + 1;
for I := 0 to myFieldnames.Count - 1 do
StringGridDB1.Cells[0, I + 1] := myFieldnames[I];
myFieldnames.Free;
End;