请问用ADO如何实现真正把记录删除掉?(50分)

  • 主题发起人 主题发起人 吴剑明
  • 开始时间 开始时间

吴剑明

Unregistered / Unconfirmed
GUEST, unregistred user!
或者说用DELETE语句后,用什么方法真正的把删除了的记录抹掉?
 
你的数据库是什么数据库?
 
任意。只要ADO支持的。
 
不用缓存更新的话,用delete不就是真正删除了吗
 
提交后,是可以删除记录。但只是在记录哪里做了个标记,表示该记录已被删除。
一般数据库的DELETE都是这样的啦。但都不是真正的删除??????????????????
 
你用的是不是DBF文件,如果不是,应该可以真正删除!
 
不是DBF。如ACCESS、SQL SERVER等
 
好像没好办法,只有压缩.. .
 
在SQL SERVER 中是可以真正删除的!
 
如何? 请指教
 
在SQL SERVER 中是可以直接删除的,你是如何得知被删除的记录作了标记,是不是DBF用多
了,要灵活些
 
1。在SQL Server 中是真正删除的。
2。在Access 中不是的,在外部可也通过数据库压缩来删除,在程序中可以,将库内
的表导到另一Access库中来删除。
3。在DBF 数据库中,可以调用BDE的API函数来做Pack.
 
我ORACLE和SQL SERVER都用过了,是真正删除的。不是标记,老兄!快给分吧!
别无聊了
 
着急什么呀。:)现在给你分,你也拿不到啊。
我DBF用的并不多。这次主要是想问ACCESS的。
 
压缩一下就可以了
var dao1:OLEVariant;
begin
adoconnection1.Close;
dao1:=CreateOleObject('DAO.DBEngine.36');
dao1.CompactDatabase('yourdatabase.mdb','compacted.mdb');
DeleteFile('yourdatabase.mdb');
RenameFile('compacted.mdb','yourdatabasee.mdb');
adoconnection1.open;
adoquery1.Active:=true;
end;
 
access压缩时出现过这样的问题:
表里的记录全没了,字段只剩一个.
他新生成一个表,里面记录的是错误.记不大清楚了.好像是字段如何如何..(等我查查,是不是还有)
可是后来又正常了,不知各位碰到过吗?
 
压缩率很少呀,我删了1千多条记录,压了之后只少了500来K?
 
就目前我所知,只有dBase是软删除了,其他的删除以后留一空洞,
你压缩以后就可以把那些空洞去掉。至于为什么只少了500k,要看你的
记录到底存放了些什么东东
 
关注:
sql server 可以删除。现在我们用的就是sql server.
Access不知道。准备开发单机版,就用的是Access.
 
access?
有个叟主意,你管它是怎么删除的?
每个月把access的mdb文件倒一遍怎么样?
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
439
import
I
后退
顶部