Foxtable(狐表)用户栏目专家坐堂 → Clear的理解


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

主题:Clear的理解

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


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
Clear的理解  发帖心情 Post By:2011/4/30 11:20:00 [显示全部帖子]

帮助中的:

Clear方法会直接从后台清除所有行,并即刻生效,且不能撤销,所以一定要慎重使用。

请问"直接从后台清除所有行"是只针对内部数据表,还是针对内部数据表和外部数据表?

"清除所有行"对于如果是内部数据表中有加载条件的只加载部分数据,是针对只加载的数据清除还是连同未加载的数据从后台一起清除?如果是外部数据呢?


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


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
  发帖心情 Post By:2011/4/30 11:39:00 [显示全部帖子]

像这个代码应该怎么写?

即如果是外部数据表时,如果是"登录"表就不清除,其它从后台删除所有行;如果是内部数据表时,如果是"登录"表就不清除,其它表加载所有数据并清除

For Each dt As DataTable In DataTables
        If dt.Type = 3 Then '如果是外部数据表
            If dt.Name = "登录" Then
                Continue For
            Else
                DELETE FROM {dt.Name}  '这有问题
            End If
        Else If dt.Type = 1 Then '如果是内部数据表
            If dt.Name = "登录" Then
                Continue For
            Else
                dt.LoadFilter = ""
                dt.Load
                dt.DataRows.Clear()
            End If
        Next


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


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
  发帖心情 Post By:2011/4/30 11:52:00 [显示全部帖子]

C版帮帮看看代码该如何写呀?

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


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
  发帖心情 Post By:2011/4/30 12:41:00 [显示全部帖子]

应该这样吧?

For Each dt As DataTable In DataTables
        If dt.Type = 3 Then '如果是外部数据表
            If dt.Name = "登录" Then
                Continue For
            Else
                 

                Dim cmd As New SQLCommand

                cmd.C

                cmd.CommandText = "DELETE FROM {dt.Name}" '不确定这是否有问题,主要是不确定{dt.Name}这个是否正确

                cmd.ExecuteNonQuery()
            End If
        Else If dt.Type = 1 Then '如果是内部数据表
            If dt.Name = "登录" Then
                Continue For
            Else
                dt.LoadFilter = ""
                dt.Load
                dt.DataRows.Clear()
            End If
        Next


 回到顶部