Rss & SiteMap

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

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

标题:Clear的理解

1楼
红叶 发表于:2011/4/30 11:20:00

帮助中的:

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

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

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

2楼
czy 发表于:2011/4/30 11:26:00
直接从后台清除已加载的数据
3楼
红叶 发表于: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

4楼
红叶 发表于:2011/4/30 11:52:00
C版帮帮看看代码该如何写呀?
5楼
红叶 发表于: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

6楼
mr725 发表于:2011/4/30 13:13:00

测试一下就知道了, 还等回答吗.

7楼
lihe60 发表于:2011/4/30 14:09:00

messagebox.show("DELETE FROM {dt.Name}" )

运行看一下。

8楼
czy 发表于:2011/4/30 19:53:00

判断内部和外部表是多余的,因为DELETE语句无论对内部还是外部都是有效的。

问题在于执行DELETE语句后要重新打开项目才能看到结果。

如果是三楼代码的要求,不如直接在BeforeCloseProject事件设置代码,每次关闭系统时执行,下次打开项目时自然也就不存在哪些数据了。

共8 条记录, 每页显示 10 条, 页签: [1]

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

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