Foxtable(狐表)用户栏目专家坐堂 → 奇怪的程序假死问题


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

主题:奇怪的程序假死问题

帅哥哟,离线,有人找我吗?
晕了快扶我
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1195 积分:7040 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By:2013/8/4 19:14:00 [只看该作者]

以下是引用lsy在2013-8-4 19:06:00的发言:

主表没有数据,下面的代码无法执行;

子表没有数据,下面的代码同样无法执行。

这样判断,就该用Orelse

改成orelse一样假死掉图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/8/4 19:17:00 [只看该作者]

只有传上来,实测了。

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


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

 如果用到 条件 in (1,2,...,n) 的查询,假死是正常的。

 我之前遇到过,如果括号里的个数过长,或你的数据库的数据过多的话,匹配时间是很漫长的。

 一般这种情况变通直接编写sql语句完成你要的操作比较好。

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


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/8/4 19:27:00 [只看该作者]

还是上例子吧,也许可以找到其他方法帮你解决。


 回到顶部
帅哥哟,离线,有人找我吗?
晕了快扶我
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1195 积分:7040 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By:2013/8/4 19:37:00 [只看该作者]

以下是引用有点甜在2013-8-4 19:21:00的发言:
 如果用到 条件 in (1,2,...,n) 的查询,假死是正常的。

 我之前遇到过,如果括号里的个数过长,或你的数据库的数据过多的话,匹配时间是很漫长的。

 一般这种情况变通直接编写sql语句完成你要的操作比较好。
应该不是这个问题,loadfilter本身就是从后台加载,而且我是测试的数据库,才40几条主表数据,子表也不超过100条,最重要的是我本身的代码没问题,改造成内部函数后调用的时候就出问题了,一会我做个例子上来吧

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


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

以下是引用晕了快扶我在2013-8-4 19:37:00的发言:
应该不是这个问题,loadfilter本身就是从后台加载,而且我是测试的数据库,才40几条主表数据,子表也不超过100条,最重要的是我本身的代码没问题,改造成内部函数后调用的时候就出问题了,一会我做个例子上来吧


如果不是数量大的问题,就是条件写错了。试试改改,in之前加个空格

Dim ids As String
        For Each dr As DataRow In DataTables(tbn).DataRows
            ids = ids & ",'" & dr(keys) & "'"
        Next
ids= ids.Trim(",")   
DataTables(tbn1).LoadFilter = keys & " In (" & ids & ")"
        Dim vds As String
        For Each dr As DataRow In DataTables(tbn1).DataRows
            vds = vds & ",'" & dr(keys) & "'"
        Next
vds= vds.Trim(",")
DataTables(tbn).LoadFilter = keys & " In (" & vds & ")"
[此贴子已经被作者于2013-8-4 19:50:36编辑过]

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/8/4 19:49:00 [只看该作者]

For Each dr As DataRow In DataTables(tbn).DataRows
      ids = ids & ",'" & dr(keys) & "'"
      ids= ids.Trim(",")
      DataTables(tbn1).LoadFilter = keys & "In (" & ids & ")"
Next

ids= ids.Trim(",")
DataTables(tbn1).LoadFilter = keys & "In (" & ids & ")"

 

两行红色的应该放在循环的外面。



 回到顶部
帅哥哟,离线,有人找我吗?
晕了快扶我
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1195 积分:7040 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By:2013/8/4 20:08:00 [只看该作者]

以下是引用lsy在2013-8-4 19:49:00的发言:

For Each dr As DataRow In DataTables(tbn).DataRows
      ids = ids & ",'" & dr(keys) & "'"
      ids= ids.Trim(",")
      DataTables(tbn1).LoadFilter = keys & "In (" & ids & ")"
Next

ids= ids.Trim(",")
DataTables(tbn1).LoadFilter = keys & "In (" & ids & ")"

 

两行红色的应该放在循环的外面。


这个放在红色之外ids取不到值的咧


 回到顶部
帅哥哟,离线,有人找我吗?
晕了快扶我
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1195 积分:7040 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By:2013/8/4 20:09:00 [只看该作者]

以下是引用有点甜在2013-8-4 19:47:00的发言:


如果不是数量大的问题,就是条件写错了。试试改改,in之前加个空格

Dim ids As String
        For Each dr As DataRow In DataTables(tbn).DataRows
            ids = ids & ",'" & dr(keys) & "'"
        Next
ids= ids.Trim(",")   
DataTables(tbn1).LoadFilter = keys & " In (" & ids & ")"
        Dim vds As String
        For Each dr As DataRow In DataTables(tbn1).DataRows
            vds = vds & ",'" & dr(keys) & "'"
        Next
vds= vds.Trim(",")
DataTables(tbn).LoadFilter = keys & " In (" & vds & ")"
[此贴子已经被作者于2013-8-4 19:50:36编辑过]

果然是这个问题,我测试了下,show出来的keys有问题,少了个空格,TKS!


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/8/4 20:10:00 [只看该作者]

你用MessageBox测试,就知道了,你放在里面,增加不少负担。


 回到顶部
总数 33 上一页 1 2 3 4 下一页