++ >> 如何读取SQLServer中某个数据库中的某个表中的列的信息 << ++

onetwofree 2005-04-20 09:00:41
想大家请教读取SQLServer中某个数据库中的某个表中的列的信息
(列名,数据类型,长度,列的描述)我只需要这4种信息。

...全文
151 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
showfray 2005-04-20
  • 打赏
  • 举报
回复
To:无形:

你的代码在SQL查询分析器里是运行正确,但在SQL命令窗口(表名右键打开后点击SQL图标运行)却显示描述为Binary.

那么这样如何在Asp程序里调用呢?
dotnet东哥 2005-04-20
  • 打赏
  • 举报
回复
select b.[name] as '列名',c.[name] as '数据类型',b.length as '长度',d.value as '描述' from sysobjects a
left join syscolumns b on a.[id]=b.[id]
left join systypes c on b.xtype=c.xtype and b.xusertype=c.xusertype
left join sysproperties d on b.[id]=d.[id] and b.[colid]=d.[smallid]
where a.xtype='U' and a.type='U' and a.[name]='你的表名'
onetwofree 2005-04-20
  • 打赏
  • 举报
回复
TO:jzywh(江小鱼)

前面的三个列的信息,我已经用别的方法实现了。但是在取得“列的描述”信息遇到困难。
大家有什么方法吗?
showfray 2005-04-20
  • 打赏
  • 举报
回复
请问[江小鱼]:

我对你的SQL感兴趣,但至关重要的列的描述是二进制内容,如何类似简单的显示出来呢?
jzywh 2005-04-20
  • 打赏
  • 举报
回复
MyTable是表名
jzywh 2005-04-20
  • 打赏
  • 举报
回复
select [name],[xtype],[length] from syscolumns where id=object_id(N'[MyTable]')
showfray 2005-04-20
  • 打赏
  • 举报
回复
SELECT
表名=case when a.colorder=1 then d.name else '' end,
表说明=case when a.colorder=1 then isnull(f.value,'') 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.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 sysproperties g on a.id=g.id and a.colid=g.smallid
left join sysproperties f on d.id=f.id and f.smallid=0
--where d.name='table_name' --如果要查询特定table,加上这句
order by a.id,a.colorder
sfply 2005-04-20
  • 打赏
  • 举报
回复
以前用DELPHI时弄过,ASP中应该也能够通过SQL函数搞定,关注~

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧