是否可以动态枚举数据库里某个表的列名呢?

BosKin 2006-04-14 01:57:17
是否可以动态枚举数据库里某个表的列名呢?
...全文
192 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
panjf 2006-04-17
  • 打赏
  • 举报
回复
To:venus0314(雪侯鸟)

那就要看楼主的要求了。
venus0314 2006-04-14
  • 打赏
  • 举报
回复
可是.NET中的DataType类型和数据库类型并不是一一匹配的阿
panjf 2006-04-14
  • 打赏
  • 举报
回复
谁说不行无法获取其类型等参数,你看看DataColumn的帮助,类型:DataType属性。
venus0314 2006-04-14
  • 打赏
  • 举报
回复
哈哈,楼上想法很独特阿
支持
不过无法获取其类型等参数噢
panjf 2006-04-14
  • 打赏
  • 举报
回复
笨办法,执行:select * from table where 0 <> 0,把结果放到DataTable里,然后访问DataTable的Columns就可以了,呵呵。
venus0314 2006-04-14
  • 打赏
  • 举报
回复
''''Get table's columns from SQL Server
SELECT a.name col,b.name type,a.length length
FROM syscolumns a,systypes b,sysobjects c
WHERE a.xtype=b.xtype
AND a.id=c.id
AND b.name NOT LIKE '%sys%'
AND c.name='TableName'

''''Get table's columns from SQL Server
SELECT column_name col,data_type type,data_length length
FROM all_tab_columns
WHERE owner='User'
AND table_name='TableName'
Knight94 2006-04-14
  • 打赏
  • 举报
回复
参看
http://community.csdn.net/Expert/topicview.asp?id=1679569
awinder 2006-04-14
  • 打赏
  • 举报
回复
Oracle: select * from sys.col where tname = 'tablename'
SqlServer:select * from syscolumns where id =(select id from sysobjects where name = 'tablename')

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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