var
  sqltext1,sqltext2:Ansistring;
begin
sqltext1:= 'select '
+'表名        =  D.name,'
+'表说明      =  case when A.colorder = 1 then ISNULL(F.VALUE, '''') else ''nil'' end,'
+'字段序号    =  A.COLORDER, '
+'字段名      =  A.name,  '
+'标识        =  case when columnproperty(A.ID,A.name, ''isidentity'') = 1 then ''Y'' else ''N'' end, '
+'主键        =  case when exists(           '
+'                    select 1     from SYSOBJECTS '
+'                     where XTYPE = ''PK'' and PARENT_OBJ=A.ID '
+'                       and name IN (    '
+'                           select name  from SYSINDEXES'
+'                            where INDID IN (   '
+'                                  select INDID from SYSINDEXKEYS '
+'                                   where ID = A.ID and COLID = A.COLID '
+'                            )           '
+'                       )              '
+'               ) then ''Y'' else ''N'' end,'
+'类型        =  B.name,   '
+'占用字节数    =  A.LENGTH,'
+'长度=COLUMNPROPERTY(a.id,a.name, ''PRECISION''),'
+'小数位数    =  ISNULL(columnproperty(A.ID,A.name, ''SCALE''),0),'
+'允许空      =  case when  A.ISNULLABLE=1 then ''Y'' else  ''N'' end, '
+'预设值      =  ISNULL(E.TEXT, ''nil''),    '
+'字段说明    =  ISNULL(G.[VALUE], ''nil'') '
+' from SYSCOLUMNS       A    '
+' left join SYSTYPES    B on A.XUSERTYPE = B.XUSERTYPE '
+'inner join SYSOBJECTS  D on A.ID = D.ID and D.XTYPE = ''U'' and D.name <> ''DTPROPERTIES'''
+' left join SYSCOMMENTS E on A.CDEFAULT = E.ID'
+' left join sys.extended_properties    G on A.ID = G.major_id and A.COLID = G.minor_id '
+' left join sys.extended_properties    F on D.ID = F.major_id and F.minor_id = 0 ';sqltext2 := 'select * from userinfo';with ADOQueryX do
begin
Close;
SQL.clear;
SQL.Text:=sqltext1; //请问为什么运行sqltext1会提示 "未指定的错误",
          //    而运行sqltext2 就没有问题,sqltext1 我在sql 调试器中已经试过,可以正常运行
memo1.Text:=SQL.Text;
Open;
end;
end;