Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共2 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[讨论]关于动态加载的一段代码

1楼
sunjgjd 发表于:2011/9/30 16:10:00

在帮助里面,有关动态加载->父表与子表同步加载的说明中,有如下一段代码:

 

If DataTables("订单").DataRows.Count = 0 Then '如果订单表没有数据
    DataTables(
"订单明细").LoadFilter = "订单ID Is Null" '不加载订单明细
Else
    Dim
ids As String
    For Each
dr As DataRow In DataTables("订单").DataRows
        ids = ids & "," & dr("订单ID")
    Next
    ids= ids.Trim(",")
    DataTables(
"订单明细").LoadFilter = "订单ID In (" & ids & ")"
End If
DataTables(
"订单明细").Load()

 

我不知道老大在写这段代码的时候,“订单ID”是基于字符串的还是数值的。下午我在写如上的一段代码时,发现假如“订单ID”是字符串值的话,ids = ids & "," & dr("订单ID") 这条语句是错误的,参考了SQL的IN参数,前面的这条语句应该写成:ids = ids & ",'" & dr("订单ID") & "'"

亦即帮助里的“加载条件为:订单ID In (1,2,6,7,8,9)”应该是“加载条件为:订单ID In ('1','2','6','7','8','9')

 

不知是否正确?供参考

2楼
lyq 发表于:2011/9/30 16:46:00

dim ids as string

If DataTables("订单").DataRows.Count = 0 Then '如果订单表没有数据
    DataTables(
"订单明细").LoadFilter = "订单ID Is Null" '不加载订单明细
Else
    For Each dr As DataRow In DataTables("订单").DataRows

       if ids="" then

          ids="'" & dr("订单ID") & "'" 

        else
         ids=ids & ",'" & dr("订单ID") & "'"

       end if
    Next

    ids="(" & ids & ")"
    DataTables(
"订单明细").LoadFilter = "订单ID In " & ids

    DataTables("订单明细").Load()
End If

[此贴子已经被作者于2011-9-30 16:49:50编辑过]
共2 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.