Foxtable(狐表)用户栏目专家坐堂 → 动态加载数据的错误页面


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

主题:动态加载数据的错误页面

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


加好友 发短信
等级:婴狐 帖子:94 积分:952 威望:0 精华:0 注册:2009/3/5 16:10:00
动态加载数据的错误页面  发帖心情 Post By:2009/3/18 12:38:00 [只看该作者]


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

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


加好友 发短信
等级:婴狐 帖子:94 积分:952 威望:0 精华:0 注册:2009/3/5 16:10:00
  发帖心情 Post By:2009/3/18 12:39:00 [只看该作者]

动态加载SQL SERVER外部表的错误提示

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/3/18 12:46:00 [只看该作者]

下面的代码,在SQL SERVER下通过测试的,逐行比对一下你原来的代码,就知道你的为什么不行了,因为你将筛选和动态加载搞混了:

Dim
Value() As String
Dim
Filter As String
Value = e.Node.FullPath.Split(
"\")
Select
Case e.Node.Level
     Case
0
         Filter =
"[shipCountry] = '" & Value(0) & "'"
    
Case 1
         Filter =
"[shipCountry] = '" & Value(0) & "' And [customerID] = '" & Value(1) & "'"
    
Case 2
         Filter =
"[shipCountry] = '" & Value(0) & "' And [customerID] = '" & Value(1) & "' And [EmployeeID] = " & Value(2)
End
Select
DataTables
("Orders").LoadFilter = Filter
DataTables
("Orders").Load()

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


加好友 发短信
等级:婴狐 帖子:94 积分:952 威望:0 精华:0 注册:2009/3/5 16:10:00
  发帖心情 Post By:2009/3/18 13:58:00 [只看该作者]

动态加载SQL SERVER 外部数据表的问题终于搞定了.谢谢你.

再问一下,如果一个项目中动态加载多个表,在BeforeLoadOuterTable中,每个表写一个IF...END IF ,代码效率高吗?如以下的代码是否可以精练?

If e.DataTableName = "tab_wjk"  Then
    e.SelectString = "Select * From [tab_wjk] Where id<0"
End If

If e.DataTableName = "tab_ajk"  Then
    e.SelectString = "Select * From [tab_ajk] Where id<0"
End If
有N个表,需要写N个if...end if 吗?


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/3/18 14:06:00 [只看该作者]

如果所有的表,都不加载数据,BeforeLoadOuterTable的代码为:

e.SelectString = "Select * From "  & e.DataTableName  & "Where 1> 2"

如果是部分表:

select case e.DataTableName 
   case "表1","表2","表3"
      e.SelectString = "Select * From "   & e.DataTableName  & "Where 1> 2"
end select

呵呵,帮助中有很多宝藏,不起眼的一句话,可能能够解决你的大问题,老兄不可错过这些宝藏啊。
[此贴子已经被作者于2009-3-18 14:09:41编辑过]

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


加好友 发短信
等级:婴狐 帖子:94 积分:952 威望:0 精华:0 注册:2009/3/5 16:10:00
  发帖心情 Post By:2009/3/18 14:42:00 [只看该作者]

谢谢!不过我测试了加载二张表,结果又报错了,代码如下:

select case e.DataTableName
   case "ORDERS","PRODUCTS"
      e.SelectString = "Select * From "   & e.DataTableName  & "Where 1> 2"
end select


图片点击可在新窗口打开查看此主题相关图片如下:11.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2009-3-18 15:23:10编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/3/18 14:50:00 [只看该作者]

错误提示呢?

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


加好友 发短信
等级:婴狐 帖子:94 积分:952 威望:0 精华:0 注册:2009/3/5 16:10:00
  发帖心情 Post By:2009/3/18 15:24:00 [只看该作者]

错误提示页面已加到上面的贴子中,请查看


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/3/18 16:41:00 [只看该作者]

呵呵,错误提示告诉你有语法错误,而且就是字符1附近,你就修改SQL语句啊,你之前不是总结出来了,SQL SERVER不能这样用吗?

你修改一下即可:

select case e.DataTableName 
   Case "Orders"
      e.SelectString = "Select * From Orders Where OrderId < 0 "
   Case "Products"
      e.SelectString = "Select * From Products Where ProductId < 0 "
end select

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


加好友 发短信
等级:婴狐 帖子:94 积分:952 威望:0 精华:0 注册:2009/3/5 16:10:00
  发帖心情 Post By:2009/3/18 17:10:00 [只看该作者]

可以了,谢谢.你知道我对编程基本没什么感觉,最多只能依样画葫芦.通过你的帮助,才对编程有一点兴趣.对不起,你给我的不加载任何表的代码,我测试了还是有错误,错误页面同上.以下是你给的代码,请帮助指正.

如果所有的表,都不加载数据,BeforeLoadOuterTable的代码为:

e.SelectString = "Select * From "  & e.DataTableName  & "Where 1> 2"


 


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