以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何同步删除数据行?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=11332)

--  作者:Tommy
--  发布时间:2011/7/18 12:08:00
--  如何同步删除数据行?

我是连接SQL数据库的,我发现系统在删除数据行时,SQL数据库上对应的表的数据行并没有删除,要在该表Save或者Load后才会更新到SQL数据表上,有没有方法直接同步删除数据行?


--  作者:狐狸爸爸
--  发布时间:2011/7/18 12:14:00
--  

要Load,用SQL语句删除才需要Load的。

除非你要大批量删除数据,否则直接用Foxtable内置的删除行功能,保存一次即可,不要重新Load的。


--  作者:Tommy
--  发布时间:2011/7/18 12:32:00
--  

如果删除后再保存,那删除按钮的代码就是这样吧

With CurrentTable
    If .Current IsNot Nothing Then
        .Current.Delete
        .DataTable.Save()
    End If
End With

这样的话就变成了表上其他修改的数据也一起保存了,如果我只想同步删除那一行数据,其他的修改过的数据行不更新到SQL数据库上,有快捷的方法吗?

 


--  作者:狐狸爸爸
--  发布时间:2011/7/18 12:44:00
--  

你这个要求极为特殊,可以这样:

 

用SQL语句删除此行。

然后用Remove方法移除此行,无需Load.

参考:

 

http://www.foxtable.net/help/topics/2096.htm

 


--  作者:Tommy
--  发布时间:2011/7/18 14:55:00
--  

当我修改了表之后,还没按保存,最后发现不想修改了,希望重新加载SQL数据库上的数据,有没有系统内部方法实现?

如果用Load加载的话就变成了保存修改的数据并同步更新到SQL数据表上了。怎么解决?


--  作者:狐狸爸爸
--  发布时间:2011/7/18 14:58:00
--  

参考:
 
http://www.foxtable.net/help/topics/1538.htm

 


--  作者:Tommy
--  发布时间:2011/7/18 15:09:00
--  
我想要的其实是刷新的功能,RejectChanges只是把表还原到上一次保存的数据,但是如果数据库有更新的话,这个方法并不能满足要求!还有其他办法吗?
--  作者:狐狸爸爸
--  发布时间:2011/7/18 15:22:00
--  
DataTables("订单").Load(False)
--  作者:Tommy
--  发布时间:2011/7/18 15:39:00
--  
OK, Thanks!图片点击可在新窗口打开查看