Foxtable(狐表)用户栏目专家坐堂 → 求助获取后台数据表列名


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

主题:求助获取后台数据表列名

帅哥,在线噢!
wei0769
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1815 积分:19263 威望:0 精华:0 注册:2013/4/10 14:38:00
求助获取后台数据表列名  发帖心情 Post By:2017/4/18 10:47:00 [只看该作者]

用动态加载数据表,设置加载表的可见列及可编辑列。在设置时没有加载数据表,怎样可以取得该表的列名?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:8.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:106688 积分:542629 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/18 11:03:00 [只看该作者]

必须加载才能获取,参考下面代码加载表结构

Dim cmd As new SQLCommand
Dim
 dt As DataTable 
cmd
.CommandText = "select * From {A} where 1=2"
dt = cmd.ExecuteReader(
)


 回到顶部
帅哥,在线噢!
wei0769
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1815 积分:19263 威望:0 精华:0 注册:2013/4/10 14:38:00
  发帖心情 Post By:2017/4/18 11:25:00 [只看该作者]

如果有100个表,不是要写100次?

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


加好友 发短信
等级:超级版主 帖子:106688 积分:542629 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/18 12:03:00 [只看该作者]

基本就是这样

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


加好友 发短信
等级:超级版主 帖子:106688 积分:542629 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/18 12:04:00 [只看该作者]

如果是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

 回到顶部
帅哥,在线噢!
wei0769
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1815 积分:19263 威望:0 精华:0 注册:2013/4/10 14:38:00
  发帖心情 Post By:2017/4/18 12:44:00 [只看该作者]

谢谢,我现在改了下方法,只有管理员才需要加载所有的空表,用户不需要增加


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


加好友 发短信
等级:超级版主 帖子:106688 积分:542629 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/18 14:03:00 [只看该作者]

本应如此。只需处理用户有权限使用的表即可

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


加好友 发短信
等级:幼狐 帖子:122 积分:1805 威望:0 精华:0 注册:2016/8/30 12:08:00
回复:(有点蓝)如果是Sqlserver就比较好办,可以一次...  发帖心情 Post By:2021/3/30 2:01:00 [只看该作者]

这段代码看了好久看不明白,蓝老师能不能帮忙转成狐表的写法。谢谢~

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


加好友 发短信
等级:超级版主 帖子:106688 积分:542629 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/30 8:28:00 [只看该作者]

以下是引用wgqcool在2021/3/30 2:01:00的发言:
这段代码看了好久看不明白,蓝老师能不能帮忙转成狐表的写法。谢谢~

执行sql参考:http://www.foxtable.com/webhelp/topics/0696.htm

 回到顶部