Foxtable(狐表)用户栏目专家坐堂 → 导出数据库各表列名


  共有3752人关注过本帖树形打印复制链接

主题:导出数据库各表列名

帅哥哟,离线,有人找我吗?
lk15502
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:706 积分:4908 威望:0 精华:0 注册:2016/5/17 12:03:00
导出数据库各表列名  发帖心情 Post By:2019/9/27 15:14:00 [只看该作者]

数据库已经连接,未加载任何表,想导出数据库各表的列名,写入一张表内,请问该如何写sql代码,下面的代码显示错误:不存在“*******”的datatables,各表的名已经导出
For Each r As Row In Tables("表名").Rows
    For Each dc As DataCol In DataTables(r("表名")).DataCols
        r("列标注") = r("列标注") & vbcrlf & dc.name
    Next
Next

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110647 积分:563143 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/27 15:29:00 [只看该作者]

Dim cmd As New SQLCommand
cmd.ConnectionName = "数据源"
Dim 
dt As DataTable
cmd.CommandText = 
"SELECT * From {" & r("表名") & "} Where 1=2"
dt = cmd.ExecuteReader
()
    For Each dc As DataCol In dt.DataCols
        r("列标注") = r("列标注") & vbcrlf & dc.name
    Next

 回到顶部
帅哥哟,离线,有人找我吗?
lk15502
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:706 积分:4908 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2019/9/27 15:50:00 [只看该作者]

蓝老师,有没有办法把具体的列属性,也导出来?


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110647 积分:563143 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/27 16:16:00 [只看该作者]

什么列属性?

 回到顶部
帅哥哟,离线,有人找我吗?
lk15502
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:706 积分:4908 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2019/9/27 16:40:00 [只看该作者]

就是在数据库里表各字段的种类?


 回到顶部
帅哥哟,离线,有人找我吗?
lk15502
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:706 积分:4908 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2019/9/27 16:40:00 [只看该作者]

导出来



 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110647 积分:563143 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/27 17:18:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/topics/1356.htm

MaxLength如果是字符列,返回该列允许输入的最大长度,否则返回-1
IsNumeric判断该列是否是数值型
IsString判断该列是否是字符串型
IsDate判断该列是否是日期型
IsBoolean判断该列是否是逻辑型

 回到顶部
帅哥哟,离线,有人找我吗?
lk15502
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:706 积分:4908 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2019/9/27 17:31:00 [只看该作者]

蓝老师,1下面的代码是在论坛找到的,可以达到我的要求吗?
2代码看不懂,可以解释一下吗?:

如果是Sqlserver就比较好办,可以一次性取出来

------------sqlserver
SELECT 
表名= convert(varchar(50), d.name ),
字段名= convert(varchar(100), a.name),
类型= CONVERT(varchar(50),b.name) + '(' + CONVERT(varchar(10),a.length/2) + ')',
字段说明=convert(varchar(50), isnull(g.[value],'')),
必填 = case a.isnullable when 1 then '否' else '是' end
FROM dbo.syscolumns a
left join dbo.systypes b on a.xusertype=b.xusertype
inner join dbo.sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
left join dbo.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
--where d.name ='WeChatSeeingRules'
where a.name not in( '_Identify','_Locked')
order by d.name

 回到顶部
帅哥哟,离线,有人找我吗?
lk15502
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:706 积分:4908 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2019/9/27 17:31:00 [只看该作者]

求助获取后台数据表列名 - 专家坐堂 - Foxtable(狐表) - 新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!  http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&replyID=684344&ID=99369&skin=1

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110647 积分:563143 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/27 17:41:00 [只看该作者]

自己测试一下不就知道了

 回到顶部
总数 13 1 2 下一页