procedure TFrmOrderBy.BtnOrderClick(Sender: TObject);
var
i: integer;
fieldname: string;
begin
with AQuery do
begin
Close;
SQL.Clear;
SQL.Add('SELECT max(datalength(id)) AS id ,');
SQL.Add('max(datalength(number))AS number,');
SQL.Add('max(datalength(name))AS name,');
SQL.Add('max(datalength(old))AS old,');
SQL.Add('max(datalength(sex))AS sex,');
SQL.Add('max(datalength(telephone))AS telephone,');
SQL.Add('max(datalength(department))AS department,');
SQL.Add('max(len(joindate))AS joindate');
SQL.Add('FROM TB_Worker');
Open;
end;
for i := 0 to DBGList.Columns.Count - 1 do
begin
fieldname := DBGList.Columns[i].Field.FieldName;
DBGList.Columns[i].Field.DisplayWidth := AQuery.FieldByName(fieldname).AsInteger;
end;
end;