我用的是BDE压缩的一个函数,不过ADO肯定也行
等着
等着
解决方案 »
- 新手交流贴,给firebird.FireBird的Extract日期时间函数的一些小技巧。
- 各位csdn上的热心人,看看小弟的问题,让我爱上delphi!
- Delphi 基础中的基础
- 菜鸟的问题:Applicition.mainform指的是什么
- 跟编程无关的两个小问题
- 用TOleContainer内嵌word怎么才能向word插入书签
- 只要回答就给分
- 如何实现双面打印?
- 有没有类似DBgrid的控件,点击列上的标题便可按这一列的升降排序?
- 已按字段一进行排序,如何同时对字段二进行排序???????????
- 用wm_keydown发送5个"0"给Edit,怎么不好使呢?
- Windows 消息的处理
然后:engine.CompactDatabase(src_file,des_file,ole_tmp,ole_tmp,ole_tmp);
但愿对你有启发 :)
Jet OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;
下面是一个例子,它使用程序目录下的一个access数据库(和和,不要odbc,只要.exe和.mdb就行了),希望对一有帮助
procedure TMainForm.FormCreate(Sender: TObject);
var
S:String;
begin
with ADOConnection do
Begin
Connected:=false;
S:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source="'+ExtractFilePath(Application.ExeName);
S:=S+'Student.mdb";Mode=Share Deny None;Extended Properties="";';
S:=S+'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;';
S:=S+'Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;';
S:=S+'Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
ConnectionString:=S;Connected:=true;
End;
ADODataSet.Active:=true;
end;
dao:olevariant;
begin
Dao := CreateOleObject('DAO.DBEngine.36');
Dao.CompactDatabase(Sourcedb, Compactdb);
end;
这一句不行,能不能再具体一点啊,
还有, 我用的是ADODATASET连接的数据库,我对数据库进行压缩是肯定要断开对数据库的连接,
请问各位怎么断开连接。我的ADODATASET的CONNECTIONSTRING是在程序设计期间设定的。
我用ADODATASET1。CLOSE; ADODATASET1。DISCONTROL;ADODATASET1。CONNECTIONSTRING:=‘’都不行啊!!!