Foxtable(狐表)用户栏目专家坐堂 → [求助]关于统计外部数据源某个表数据的问题


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

主题:[求助]关于统计外部数据源某个表数据的问题

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


加好友 发短信
等级:小狐 帖子:308 积分:3351 威望:0 精华:0 注册:2011/12/22 17:52:00
[求助]关于统计外部数据源某个表数据的问题  发帖心情 Post By:2012/1/26 21:00:00 [只看该作者]

有一个外部数据源,已通过动态加载数据源测试如下:

 

Dim str1 As String

str1="连接字符串"  '按实际情况编写

If Connections.TryConnect(str1) = False Then

        MessageBox.Show("数据源无法连通!")

Else

        MessageBox.Show("数据源连通成功!")

       If Connections.Contains("OracleDB")=False Then

            Connections.Add("OracleDB",str1)

        End If

End If

 

这段代码已有“数据源连通成功”的提示。

 

请问:

如何用这个数据源去统计其中一个表,并把统计结果保存至一个变量中?

 

我试着用统计内部表的方式,结果提示找这不到外部数据源的{表}

统计内部数据源的方式:

 

 内部表的做法:

Dim ld As Integer

Dim cmd As New SQLCommand

cmd.CommandText ="查询条件"  '实际需要编写

ld = cmd.ExecuteScalar()

MessageBox.Show(ld)               '显示变量值

 

补充生成外部查询表的语句:

Dim q As new QueryBuilder

q.TableName = "外部数据查询"

q.SelectString ="Select 语句"

q.C

q.Build

MainTable = Tables("外部数据查询")

 

这时可以看到按条件生成的查询表

[此贴子已经被作者于2012-1-28 22:21:22编辑过]

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


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

加上下面这行代码试试

 

cmd.ConnectionName  = "数据源名称"


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


加好友 发短信
等级:小狐 帖子:308 积分:3351 威望:0 精华:0 注册:2011/12/22 17:52:00
  发帖心情 Post By:2012/1/27 15:35:00 [只看该作者]

嗯,等上班时(现在没有网络条件)加上这一句再去试试。

出错的原因还是没有找到外部数据源,需要把查询表指向为外部数据源。


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


加好友 发短信
等级:小狐 帖子:308 积分:3351 威望:0 精华:0 注册:2011/12/22 17:52:00
  发帖心情 Post By:2012/1/28 17:36:00 [只看该作者]

通过一个外部Access数据源的测试,结果如下:

1、如下代码还是找不到外部数据源的{表}

Dim ld As Integer

Dim cmd As New SQLCommand

cmd.CommandText ="查询条件"  '实际需要编写
cmd.ConnectionName  = "OracleDB"

ld = cmd.ExecuteScalar()

MessageBox.Show(ld)               '显示变量值

2、如果在项目中建立一个“外部数据源”,并设定名称为:“测试数据源”,则以下代码可以正常执行

Dim ld As Integer

Dim cmd As New SQLCommand

cmd.CommandText ="查询条件"  '实际需要编写
cmd.ConnectionName  = "测试数据源"

ld = cmd.ExecuteScalar()

 

这样的话,还是达不到完全使用代码来建立外部数据源进行查询的目的,请高手指点。 


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


加好友 发短信
等级:小狐 帖子:308 积分:3351 威望:0 精华:0 注册:2011/12/22 17:52:00
  发帖心情 Post By:2012/1/28 23:22:00 [只看该作者]

现在可以了。上面测试时,外部数据源的名称没有清除,程序里一直使用了错误的连接字符串。

使用下面代码检查后,发现是数据源名称没有写正确。

For Each cn As Connection In Connections
    Output.Show("名称:" & cn.Name)
    Output.Show("链接字符串:" & cn.ConnectionString)
Next


 回到顶部