以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]外部数据表的加载问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92605)

--  作者:cherryjing
--  发布时间:2016/11/8 10:44:00
--  [求助]外部数据表的加载问题
先用ADOXBuilder新建了外部数据表
再用insert into给外部数据表写入了数据

从SQL server上已经看到了该数据表及其数据

之后在代码中有如下内容:
If not DataTables.Contains(strTableName) Then
    txtInfo.Value &= vblf + vbcr + "加载外部数据表..."

    Dim q As new OuterTableBuilder
    q.TableName = strTableName
    q.TableCaption = strTableName
    q.Conn ectio nN ame = "EquipAndMaterial"
    q.S elec tS tring = "Sele ct * F rom {" & strTableName & "}"
    q.Build

    txtInfo.Value &= "  加载外部数据表完成。"
Else
    DataTables(strTableName).L oa dF ilt er = ""
    DataTables(strTableName).Load()    
End If
却没有任何数据被加载进来。
然后又用命令窗口进行测试,输入如下代码:
Dim dr As DataRow = DataTables("动力系统_接触器").S Q L Find("供应商 = \'****电器\'") 
If dr IsNot Nothing Then
    messagebox.show("find dr ")
Else
    messagebox.show("not find dr ")
End If

Dim cmd As New SQLCommand
Dim cnt As Integer
cmd.Con nection Name = "EquipAndMaterial"
cmd.Command Text = "Sele ct  Cou nt(*) Fr om {动力系统_接触器} wh ere [供应商] = \'****电器\'"
cnt = cmd.Execute Scalar
messagebox.show(CStr(cnt))

运行结果是没有找到dr,但cnt=344

请教这是什么情况?
说明:本工程只有一个外部数据源"EquipAndMaterial"

--  作者:有点蓝
--  发布时间:2016/11/8 10:58:00
--  
测试没有问题的。看看创建的这个表的架构(所有者)是不是dbo,即dbo.动力系统这种
--  作者:cherryjing
--  发布时间:2016/11/8 11:19:00
--  
架构(所有者)是不是dbo会有什么样的影响呢?
--  作者:cherryjing
--  发布时间:2016/11/8 11:22:00
--  
我查了,确实是dbo,请问dbo的表不能这样加载吗?那dbo的表该如何加载呢?
--  作者:有点蓝
--  发布时间:2016/11/8 11:46:00
--  
dbo就是正常的。只能上传项目看看了
--  作者:有点色
--  发布时间:2016/11/8 17:57:00
--  

 应该是你绑定错了表。

 

 你在foxtable引用外部表的时候没有正确引用对应的表。