select * from 数据库.dbo.syscolumns where object_name(id)='表名'
var
name: string;
FieldType: TFieldType;
i, size: integer;
begin
for i := 0 to ads.Fields.Count - 1 do
begin
name := ads.Fields[i].FieldName; //列名
FieldType := ads.Fields[i].DataType; //字段类型
size := ads.Fields[i].DataSize; //字段长度
end;
end;