Access数据库程序如何实现数据库的清除、压缩、备份和日志功能?(100分)

  • 主题发起人 主题发起人 coolqiang
  • 开始时间 开始时间
C

coolqiang

Unregistered / Unconfirmed
GUEST, unregistred user!
正在做一个Access的数据库软件,需要实现这些系统管理的功能。以前没做过,请高手
帮帮忙!先出100分,不够再加,关键是要能帮我解决这个问题!先谢谢诸位了!
 
1。用KaDao控件(凌云天地里有下载)
2。在diamond ADO控件的DEMO中有如何实现上述功能的例子
 
数据库的压缩
procedure TMainForm.access1Click(Sender: TObject);
var
dao:OLEVariant;
begin
// adoconnection1.Close;//压缩是以独占方式进行的;压缩前要关闭数据库连接。
screen.Cursor:=crHourGlass;
dao:=CreateOleObject('DAO.DBEngine.36');//access2000要用dao3.6,在access97上用35和36都可以
dao.CompactDatabase('vglocal.mdb','temp.mdb');
DeleteFile('vglocal2.mdb');
RenameFile('temp.mdb','vglocal.mdb');
// adoconnection1.Open;
// adotable1.Active:=true;
screen.Cursor:=crDefault;
Showmessage('本地数据库压缩完成');


end;
 
access数据库就是一个文件,( 或者加上索引文件)
要清表的话 , 用delete from 表名

access数据库的备份: 就是备份文件 CopyFile即可, 或者用Tbatchmove

access无日志功能, 要使用日志的话, 请用SQL server、Oracle或Sybase或Interbase或DB2
 
前面忘记了:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

uses Variants可能是不可少的
 
htw:
原来备份就是文件复制,我还以为有数据库专门的工具。
我先试试你的数据库压缩程序。
Access没有日志功能?但我见过一个软件,用的是Access数据库,里面有日志功能,
记录的也不是简单的登录信息,包括用户使用的查询都记得很清楚啊!不会是自己记录的
吧?如果是,该怎么做?那是不是太累了呢?
 
uses Variants报错啊!
说是“File not found:'Variants.dcu'”
 
在delphi6 目录中搜索Variants.pas,然后拷入delphi6/lib目录
Delphi5也一样
 
没有找到,是不是我没有安装?
 
数据库的恢复用
repairdatabase(filename);
 
用ado怎么压缩access数据库
 
楼上已经回答了
 
Variants.pas 是无法找到的,其实只要添加OLEVariant的定义文件就可以了,很简单
 
在这里的方法都不是用ADO的方法!
只是用了OLE的方法,我没有安装office2000就无法使用
 
用Diamond Access 组件,这些功能都有。
 
kmwh:Diamond Access控件哪有下载?
 
我以前做过一个例子,压缩是用DAO的,其它操作是用ADO的,你可以找找DAO的说明看看你需要引入TLB才能操作DAO

mypath1:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExpandFileName('data.mdb');
mypath2:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+GetCurrentDir+'/temp.mdb;Jet OLEDB:Engine Type=5';
mydao.jetengine1.CompactDatabase(mypath1,mypath2);
 
Diamond Access去这里www.inprises.com下载
 
多人接受答案了。
 
后退
顶部