|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
99j1 (99) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/12/14 19:58:33 |
标题: |
这个问题可能有点难,但还是希望朋友们帮忙 |
浏览:1499 |
|
加入我的收藏 |
楼主: |
请教:如何能都到数据库服务器上的所有数据库名和每个数据库下的表?
----------------------------------------------
- |
作者: |
cjrb (Thinking In 魂) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/12/14 20:19:49 |
1楼: |
数据库名可由TADOConnection或TDataBase获取列表
表信息如下: 列出SQL SERVER 所有表(pjessica收藏) -- ======================================================
--列出SQL SERVER 所有表,字段名,主键,类型,长度,小数位数等信息
--在查询分析器里运行即可,可以生成一个表,导出到EXCEL中
-- ======================================================
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 (SELECT count(*)
FROM sysobjects
WHERE (name in
(SELECT name
FROM sysindexes
WHERE (id = a.id) AND (indid in
(SELECT indid
FROM sysindexkeys
WHERE (id = a.id) AND (colid in
(SELECT colid
FROM syscolumns
WHERE (id = a.id) AND (name = a.name))))))) AND
(xtype = 'PK'))>0 then '√' else ' end) 主键,
b.name 类型,
a.length 占用字节数,
COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度,
isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,
(case when a.isnullable=1 then '√'else ' end) 允许空,
isnull(e.text,') 默认值,
isnull(g.[value],') AS 字段说明
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
-----------------------------------------------------------------------------------
----------------------------------------------
充电..........
|
作者: |
99j1 (99) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/12/15 13:17:18 |
2楼: |
收藏先!谢谢! 有没有办法能够得到数据库服务器上的所有数据库名称,如能得到存储过程那就更好了,cjrb (虚渺) 大哥,用Adoconnection或Tdatabase如何做,能不能再帮帮忙
----------------------------------------------
-
|
|