Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
有一个外部数据源,已通过动态加载数据源测试如下:
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("外部数据查询")
这时可以看到按条件生成的查询表
加上下面这行代码试试
cmd.ConnectionName = "数据源名称"
嗯,等上班时(现在没有网络条件)加上这一句再去试试。
出错的原因还是没有找到外部数据源,需要把查询表指向为外部数据源。
通过一个外部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()
这样的话,还是达不到完全使用代码来建立外部数据源进行查询的目的,请高手指点。
现在可以了。上面测试时,外部数据源的名称没有清除,程序里一直使用了错误的连接字符串。
使用下面代码检查后,发现是数据源名称没有写正确。
For Each cn As Connection In Connections
Output.Show("名称:" & cn.Name)
Output.Show("链接字符串:" & cn.ConnectionString)
Next