社区
数据库及相关技术
帖子详情
求用BCB进行Access数据库压缩的实例
竹背篼
2004-06-24 09:01:04
如题
...全文
181
6
打赏
收藏
求用BCB进行Access数据库压缩的实例
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
duchuan
2004-06-28
打赏
举报
回复
建议采用我上面的程序,其中可以删除
Adoobj.Clear();
if(!FileExists(SourceFile)) //检查源库是否存在
return;
if(FileExists(TargetFile)) // 不允许目的库存在
DeleteFile(TargetFile);
加上:
if(OpenDialog1->Execute())
{
FName=OpenDialog1->FileName;
方便对话框选择源文件和目标文件。如果要设置覆盖的接受或拒绝,在OpenDialog1的OnCanClose事件中设置。
wlg68
2004-06-28
打赏
举报
回复
void TFrmMain::CompactDatabase(String SourceFile,String SourcePwd, String TargetFile,String TargerPwd)
{
if(!FileExists(SourceFile)) //检查源库是否存在
return;
if(FileExists(TargetFile)) // 不允许目的库存在
DeleteFile(TargetFile);
String ProviderSrc = "Provider=Microsoft.Jet.OLEDB.4.0" ";Data Source=" + SourceFile +
";Jet OLEDB:Database Password=" + SourcePwd;
String ProviderDes = "Provider=Microsoft.Jet.OLEDB.4.0" ";Data Source=" + TargetFile +
";Jet OLEDB:Database Password=" + TargerPwd;
try
{
Variant Adoobj=Variant::CreateObject("JRO.JetEngine");
Adoobj.OleProcedure("CompactDatabase",WideString(ProviderSrc),WideString(ProviderDes));
Adoobj.Clear();
}
catch(Exception &e)
{
return;
}
CopyFile((TargetFile).c_str(), (SourceFile).c_str(),false);
DeleteFile(TargetFile);
}
我感觉上面的还是可行的啊,我就有过上面的编程经历 啊!
heguxun
2004-06-25
打赏
举报
回复
void TFrmMain::CompactDatabase(String SourceFile,String SourcePwd, String TargetFile,String TargerPwd)
{
if(!FileExists(SourceFile)) //检查源库是否存在
return;
if(FileExists(TargetFile)) // 不允许目的库存在
DeleteFile(TargetFile);
String ProviderSrc = "Provider=Microsoft.Jet.OLEDB.4.0" ";Data Source=" + SourceFile +
";Jet OLEDB:Database Password=" + SourcePwd;
String ProviderDes = "Provider=Microsoft.Jet.OLEDB.4.0" ";Data Source=" + TargetFile +
";Jet OLEDB:Database Password=" + TargerPwd;
try
{
Variant Adoobj=Variant::CreateObject("JRO.JetEngine");
Adoobj.OleProcedure("CompactDatabase",WideString(ProviderSrc),WideString(ProviderDes));
Adoobj.Clear();
}
catch(Exception &e)
{
return;
}
CopyFile((TargetFile).c_str(), (SourceFile).c_str(),false);
DeleteFile(TargetFile);
}
竹背篼
2004-06-24
打赏
举报
回复
不行啊
void Variant::OleProcedure(const String& name, P1 p1, P2 p2)
{
TAutoArgs<2> args;
args[1] = p1; args[2] = p2;
OleProcedure(name, static_cast<TAutoArgsBase*>(&args));//到这里出错了
}
叶子哟
2004-06-24
打赏
举报
回复
抄的
// 用ADO压缩Access2000库
#include "utilcls.h"
void CompactDatabase(String f1,String psw1, String f2,String psw2)
{
String Provider1="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ f1 + ";Jet OLEDB:Database Password=" + psw1;
String Provider2="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ f2 + ";Jet OLEDB:Database Password=" + psw2;
Variant Adoobj=Variant::CreateObject("JRO.JetEngine");
Adoobj.OleProcedure("CompactDatabase",Provider1,Provider2);
AdoObj.Clear( ); // 释放 ADO对象
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String f1="yhecdagl1.mdb"; // 源库1
String psw1="yhecdagl"; // 密码1
String f2="yhecdagl2.mdb"; // 新目的库2
String psw2="yhecdagl2"; // 新密码2
String dir=ExtractFilePath(Application->ExeName);
if (FileExists(f2))
DeleteFile(f2);
CompactDatabase(dir+f1,psw1,dir+f2,psw2);
ShowMessage("Finished");
}
竹背篼
2004-06-24
打赏
举报
回复
AnsiString sProvider,SPath,DPath,Path,temp;
WideString TempMDBFile,ConnectStr,CurMDBFile;
sProvider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
TempMDBFile = ExtractFilePath(Application->ExeName)+"Temp.mdb";
FilePath = sProvider + FilePath +";Jet OLEDB:Database Password=test";
temp = sProvider + TempMDBFile+";Jet OLEDB:Database Password=test";
TempMDBFile = temp ;
CurMDBFile = FilePath;
JetEngine1->CompactDatabase(CurMDBFile,TempMDBFile);
C++Builder
数据库
程序设计开发详解
其实,
BCB
开发
数据库
应用程序,就是用
BCB
提供的功能,通过数据链路来操作
数据库
!这里的数据链路就是指操作系统或者是
BCB
提供的一个统一的对
数据库
操作的界面!比如有:ODBC,ADO,BDE等等!我们的
数据库
应用程序...
CSDN 数据技巧
取
Access
640-605 Remote
Access
2.0 考试大纲
Access
Violations(访问冲突)
ACCESS
97关于
数据库
安全的几个问题
AccesS
密码的打击
Access
数据库
操作中出现的怪现象
Access
数据库
导入Mysql的方法之一
ACCESS
数据库
防止下载...
SAP Hana
数据库
sql语法
SAP Hana
数据库
sql语法
SAP HANA
数据库
数据类型、函数用法、SQL语法
SAP HANA
数据库
数据类型、函数用法、SQL语法
mongoDB安全认证
默认情况下,MongoDB
实例
启动运行时是没有启用用户访问权限控制的,也就是说,在
实例
本机服务器上都可以随意连接到
实例
进行
各种操作,MongoDB不会对连接客户端
进行
用户验证,这是非常危险的。mongodb官网上说,为了...
数据库及相关技术
1,178
社区成员
18,939
社区内容
发帖
与我相关
我的任务
数据库及相关技术
C++ Builder 数据库及相关技术
复制链接
扫一扫
分享
社区描述
C++ Builder 数据库及相关技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章