以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何快速批量删除记录  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=16340)

--  作者:狐头狐脑
--  发布时间:2012/2/10 11:43:00
--  [求助]如何快速批量删除记录
表A有2个字段:门诊号、姓名,共17万条记录。我用for循环语句加if判断语句执行“如果门诊号为空就删除该条记录”,结果太慢了,15分钟还未完成,请高手指点高效语句!
--  作者:狐狸爸爸
--  发布时间:2012/2/10 12:00:00
--  

看看这里:
 
http://www.foxtable.com/help/topics/0696.htm


 
很简答的:
 
Dim cmd As New SQLCommand
Dim Count As Integer
cmd.CommandText = "DELETE FROM {表A} WHERE 门诊号 Is Null"
Count= cmd.ExecuteNonQuery()
DataTables("表A").Load()


--  作者:狐头狐脑
--  发布时间:2012/2/10 12:09:00
--  
vb+sql,会了!呵呵,谢谢!
--  作者:易服
--  发布时间:2012/2/10 14:40:00
--  

按钮 行不?

DataTables("表A").DeleteFor("门诊号 Is Null")


--  作者:狐狸爸爸
--  发布时间:2012/2/10 14:49:00
--  
以下是引用易服在2012-2-10 14:40:00的发言:

按钮 行不?

DataTables("表A").DeleteFor("门诊号 Is Null")

 

这样保存非常慢。