请教用过DiamondAccess控件的朋友:compact/repair database问题(100分)

L

lujun

Unregistered / Unconfirmed
GUEST, unregistred user!
使用2.1版自带的例子那两个按钮可以正常compact/repair Access数据库,但是只增
加多一个按钮,试验看能不能对指定文件名的数据库进行同样操作,却毫无反应-程序立即
执行完返回,数据库文件没任何改变!如果用原先的按钮执行一下repair后再点击新增按钮,
此时反而能正常工作了!百思不得其解?并没有加多什么特别的代码啊?奇怪!
程序清单如下:
void __fastcall TMainFrm::FormCreate(TObject *Sender)
{
if (__DBEngine35 == NULL)
CreateEngine (Dao35, "");
}

//---------------------------------------------------------------------------
void __fastcall TMainFrm::SelCompact_BtnClick(TObject *Sender)
{
if (OpenDialog1->Execute ())
{
__DBEngine35->CompactDatabase (OpenDialog1->FileName, ExtractFilePath (OpenDialog1->FileName) +
"compacted.mdb", Unassigned, Unassigned, Unassigned);
}
}

//---------------------------------------------------------------------------
void __fastcall TMainFrm::SelRepair_BtnClick(TObject *Sender)
{
if (OpenDialog1->Execute ())
{
__DBEngine35->RepairDatabase (OpenDialog1->FileName);
}
}

//---------------------------------------------------------------------------
void __fastcall TMainFrm::HisDBUtil_BtnClick(TObject *Sender)
{
WideString text;

try
{
text = "C://Data//Database.mdb";

if(FileExists(text)==true)
{
__DBEngine35->RepairDatabase (text);
__DBEngine35->CompactDatabase (text, ExtractFilePath (text) +
"compacted.mdb", Unassigned, Unassigned, Unassigned);
}
else
{
ShowMessage("File not exits!");
}
}
 
没人给点提示吗?
 
顶部