以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  SQLDeleteFor与DeleteFor  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=150101)

--  作者:tld
--  发布时间:2020/5/20 18:22:00
--  SQLDeleteFor与DeleteFor

老师好。我运行如下语句:

Dim name_yp As String = "*********"

DataTables("样品信息表").SQLDeleteFor("[样品编号]=\'" & name_yp & "\'"  )  发现不能删除对应的行。而执行下面的语句:

DataTables("样品信息表").DeleteFor("[样品编号]=\'" & name_yp & "\'"  )     可以删除对应的行。

帮助中介绍:

DeleteFor用于批量删除已经加载的数据,而SQLDeleteFor用于批量删除后台数据。对于已经加载的数据,用sqldeletfor不能删除?有时候,我不知道数据是否已经加载。


--  作者:程兴刚
--  发布时间:2020/5/20 23:03:00
--  
和您说的正好相反:
第一个的正确用法:
DataTables("样品信息表").SQLDeleteFor("[样品编号]=\'" & name_yp & "\'"  )
DataTables("样品信息表").LoadFilter = "" 
DataTables("样品信息表").Load

注:后台删除后要重新加载,否则,datatable没有被刷新,您所见并非所得!

DataTables("样品信息表").LoadFilter = "" 
DataTables("样品信息表").Load
DataTables("样品信息表").DeleteFor("[样品编号]=\'" & name_yp & "\'"  )  

注:前台删除首先要保证所有数据都已经加载进来,否则,部分符合条件且没有加载进来的数据是不会被删除的,虽然您看不见,但它依然是后台数据库中的钻地鼠,下次加载后还会出来!