大家運行一下下面的語句!可能要等待2到3分鐘SELECT 
 表名=case when a.colorder=1 then d.name else '' end,
 字段序号=a.colorder,
 字段名=a.name,
 标识=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,
 主键=case when exists(SELECT 1 FROM sysobjects where xtype='PK' and name in (
  SELECT name FROM sysindexes WHERE indid in(
   SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid
  ))) then '√' else '' 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 '√'else '' end,
 默认值=isnull(e.text,''),
 字段说明=isnull(g.[value],'')
FROM syscolumns a
 left join systypes b on a.xtype=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 sysproperties g on a.id=g.id and a.colid=g.smallid  
order by a.id,a.colorder您可以看到一個表的信息,現在我踫到的問題是:如何直接在DBGrid裏面直接修改字段説明信息!!!
也就是想直接在DBGrid裏面就可以直接對一個表加上字段描述功能。望高手們賜教!多謝了!

解决方案 »

  1.   

    直接更新 sysproperties.value的值
      

  2.   

    ......哪家大企业的招聘信息?告诉我我去应聘去.....
    DBGrid的fields有个displayname和displaylable(好像是,不记得了)直接改就完了.....
      

  3.   

    允许空=case when a.isnullable=1 then '√'else '' end,
    ==============================================
    无语,居然把显示的格式转换绑死在SQL语句中!如果真的是公司的面试题的话,得怀疑那个出题的人是不是太转牛角尖了
      

  4.   

    chijingde(AD)为正解,displayname为字段名,displaylable为字段描述,displaylable里面还可以写中文