Foxtable(狐表)用户栏目专家坐堂 → 请问上述代码错哪儿了?


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

主题:请问上述代码错哪儿了?

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


加好友 发短信
等级:小狐 帖子:376 积分:4189 威望:0 精华:0 注册:2008/9/1 14:18:00
请问上述代码错哪儿了?  发帖心情 Post By:2010/3/23 22:26:00 [只看该作者]

for each dc1 As datacol in datatables("Zstb").datacols
    for each dc As datacol in datatables("Zszy").datacols
        if dc1.name = dc.name then
            Exit For
        elseif  dc1.name <> dc.name then
            Dim Len As Integer = DataTables("Zszy").DataCols(dc.name).MaxLength
            DataTables("Zstb").DataCols.Add(dc.name, GetType(string),len)
        end if
    next
next

上述代码是两个表中如果zstb表中无zszy表中的列就增加列,有就退出,无就增加,请问上述代码错哪儿了?

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/3/23 22:33:00 [只看该作者]

for each dc1 As datacol in datatables("Zstb").datacols
    for each dc As datacol in datatables("Zszy").datacols
        if dc1.name = dc.name then
            Exit For
        else
            Dim Len As Integer = DataTables("Zszy").DataCols(dc.name).MaxLength
            DataTables("Zstb").DataCols.Add(dc.name, GetType(string),len)
        end if
    next
next


晕,让楼主带沟里去了!
[此贴子已经被作者于2010-3-23 22:36:01编辑过]

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


加好友 发短信
等级:小狐 帖子:376 积分:4189 威望:0 精华:0 注册:2008/9/1 14:18:00
  发帖心情 Post By:2010/3/23 22:36:00 [只看该作者]

已改正
for each dc1 As datacol in datatables("Zstb").datacols
    for each dc As datacol in datatables("Zszy").datacols
        If DataTables("Zstb").DataCols.Contains(dc.name) Then
            exit for
        else
            Dim Len As Integer = DataTables("Zszy").DataCols(dc.name).MaxLength
            DataTables("Zstb").DataCols.Add(dc.name, GetType(string),len)
        end if
    next
next

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/3/23 22:38:00 [只看该作者]

for each dc1 As datacol in datatables("Zstb").datacols
    for each dc As datacol in datatables("Zszy").datacols
        if dc1.name = dc.name then
            'Exit For  这个不要了,否则遍历完之前一旦有相同的列,就停止执行了~
        elseif  dc1.name <> dc.name then
            Dim Len As Integer = DataTables("Zszy").DataCols(dc.name).MaxLength
            DataTables("Zstb").DataCols.Add(dc.name, GetType(string),len)
        end if
    next
next
或者这样:
for each dc1 As datacol in datatables("Zstb").datacols
    for each dc As datacol in datatables("Zszy").datacols
        iif  dc1.name <> dc.name then
            Dim Len As Integer = DataTables("Zszy").DataCols(dc.name).MaxLength
            DataTables("Zstb").DataCols.Add(dc.name, GetType(string),len)
        else
            return
        end if
    next
next

 回到顶部