Foxtable(狐表)用户栏目专家坐堂 → [求助]如何快速取得外部数据源内所有表的记录数?


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

主题:[求助]如何快速取得外部数据源内所有表的记录数?

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
[求助]如何快速取得外部数据源内所有表的记录数?  发帖心情 Post By:2014/11/13 13:04:00 [只看该作者]

已建立外部数据源SQL的连接,并命名为“sa_sql”,这时通过预览数据源,可以看到有许多表。

 

请问如何快速取得这个外部数据源内所有表的记录数?最好是列表方式。

 

 

列出外部数据源的表名:

Dim lst As List(Of String)

lst = Connections("sa_sql").GetTableNames

For Each nm As String In lst    

     Output.Show(nm)

Next

[此贴子已经被作者于2014-11-13 15:31:57编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/11/13 14:07:00 [只看该作者]


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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2014/11/13 15:33:00 [只看该作者]

如何取得后台表的总记录数?试了几次没成功

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/13 15:36:00 [只看该作者]

用sqlcommand

 

sql语句 "select Count(*) from {" & nm & "}"

 

http://www.foxtable.com/help/topics/0696.htm

 


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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2014/11/13 16:38:00 [只看该作者]

谢谢,可以了
[此贴子已经被作者于2014-11-13 16:44:14编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2014/11/13 16:52:00 [只看该作者]

这个直接这样就可以了吧

 

Output.Show(Connections("sa_sql").GetTableNames.Count)


 回到顶部
帅哥哟,离线,有人找我吗?
瞩望星空
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2014/11/13 17:30:00 [只看该作者]

嗯,明天再试试这个方法。 目前17G数据库统计费时4分钟。

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2014/11/13 22:59:00 [只看该作者]

以下是引用czy在2014-11-13 16:52:00的发言:

这个直接这样就可以了吧

 

Output.Show(Connections("sa_sql").GetTableNames.Count)

这个语句是取得外部数据源所包含的表数量,而不是表的记录数啊

 

用一个ACCESS外部数据库作了测试:

Dim lst As List(Of String)
lst = Connections("sa_sql").GetTableNames
For Each nm As String In lst
     MessageBox.show("表名: " & nm & "  ,记录数: " & DataTables("" & nm & "").DataRows.Count)
Next

 

明天去SQL数据库试试。

[此贴子已经被作者于2014-11-13 23:06:49编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/13 23:01:00 [只看该作者]

 回复8楼,建议你还是在sqlserver那里做一个存储过程,查询各个表的记录数,最后一次性返回吧,因为你在foxtable里每查一次,连接时间都会很长的。

 回到顶部
帅哥哟,离线,有人找我吗?
瞩望星空
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2014/11/13 23:08:00 [只看该作者]

哦,谢谢甜总指点。这个存储过程得另外查资料了,我试试。

[此贴子已经被作者于2014-11-13 23:09:18编辑过]

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