紧急求助:操作SQL数据库出了问题,提示如下:
Project Lct.exe raised exception class EDatabase with message " Cannot perform this operation on an Opendatabase"
部份代码如下:
void __fastcall TfrmLog::InsertLogToDB(PLOGRECORD plr)
{
try{
LogQuery->Close();
LogQuery->SQL->Clear();
LogQuery->SQL->Add("Insert into log UserName,Type,Target,Operation) ");
LogQuery->SQL->Add(" values(:UserName,:Type,:Target,:Operation)");
LogQuery->ParamByName("UserName")->AsString=plr->strUser;
LogQuery->ParamByName("Type")->AsString=plr->strType;
LogQuery->ParamByName("Target")->AsString=plr->strTarget;
LogQuery->ParamByName("Operation")->AsString=plr->strOperation;
if(LogQuery->Prepared)
LogQuery->Prepare();
LogQuery->ExecSQL();
}
catch(...)
{
ShowMessage("Insert a record to DB failed!");
}
}
问题是,当我在启动设备时,连续插入记录时,第一条记录可以正常插入,当插入第二条记录时,需要重新连接数据库,连接后,出现上述错误提示。
当启动正常后,可以正常插入数据库,而且也不再提示重新连接的情况。不知道问题出在哪?各位GGJJDDMM,一定要帮我想想,先谢了:)