以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- Clear的理解 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=9659) |
-- 作者:红叶 -- 发布时间:2011/4/30 11:20:00 -- Clear的理解 帮助中的: Clear方法会直接从后台清除所有行,并即刻生效,且不能撤销,所以一定要慎重使用。 请问"直接从后台清除所有行"是只针对内部数据表,还是针对内部数据表和外部数据表? "清除所有行"对于如果是内部数据表中有加载条件的只加载部分数据,是针对只加载的数据清除还是连同未加载的数据从后台一起清除?如果是外部数据呢? |
-- 作者:czy -- 发布时间:2011/4/30 11:26:00 -- 直接从后台清除已加载的数据 |
-- 作者:红叶 -- 发布时间:2011/4/30 11:39:00 -- 像这个代码应该怎么写? 即如果是外部数据表时,如果是"登录"表就不清除,其它从后台删除所有行;如果是内部数据表时,如果是"登录"表就不清除,其它表加载所有数据并清除 For Each dt As DataTable In DataTables |
-- 作者:红叶 -- 发布时间:2011/4/30 11:52:00 -- C版帮帮看看代码该如何写呀? |
-- 作者:红叶 -- 发布时间:2011/4/30 12:41:00 -- 应该这样吧? For Each dt As DataTable In DataTables Dim cmd As New SQLCommand cmd.C cmd.CommandText = "DELETE FROM {dt.Name}" \'不确定这是否有问题,主要是不确定{dt.Name}这个是否正确 cmd.ExecuteNonQuery() |
-- 作者:mr725 -- 发布时间:2011/4/30 13:13:00 -- 测试一下就知道了, 还等回答吗. |
-- 作者:lihe60 -- 发布时间:2011/4/30 14:09:00 -- messagebox.show("DELETE FROM {dt.Name}" ) 运行看一下。 |
-- 作者:czy -- 发布时间:2011/4/30 19:53:00 -- 判断内部和外部表是多余的,因为DELETE语句无论对内部还是外部都是有效的。 问题在于执行DELETE语句后要重新打开项目才能看到结果。 如果是三楼代码的要求,不如直接在BeforeCloseProject事件设置代码,每次关闭系统时执行,下次打开项目时自然也就不存在哪些数据了。 |