刚学习 c++builder 2010,在ADOconnect组件的 onExecuteComplete事件中,检测数据库是否断开,然后再触发定时器 重连。但在 onExecuteComplete中 获取 错误码时 编译出错了,不知道要怎么调用这个 错误码 才正常,求大神们 帮帮忙! (c++builder 2010)
void __fastcall TForm1::ADOConnectionSQLExecuteComplete(TADOConnection *Connection,
int RecordsAffected, const Error *Error, TEventStatus &EventStatus,
const _Command *Command, const _Recordset *Recordset)
{
if(EventStatus == esErrorsOccured) //=esErrorsOccured 执行异常
{
Error->Get_Number((int&)SQLErrCode); //这里编译出错了
Form2->Label5->Caption = Command->CommandText;//获取 当前的sql语句 这里编译也 出错了
if(SQLErrCode == ConnectFail)// ConnectFail = -2147217900 数据库断开连接错误码
{
if(SQLErrCode == 1) //启动定时器 尝试重新连接数据库
{
DatabaseERR = 0; //0 表示数据库连接失败
Form2->warn->Caption=L"数据库连接失败...";
Form2->warn->Visible=true;
TestConnect->Enabled=True;
TestConnect->OnTimer;
}
}
}
}
编译报错:
[BCC32 Error] Unit1.cpp(1042): E2522 Non-const function __stdcall Adoint::Error::Get_Number(int &) called for const object
Unit1.cpp(1007): parsing: void _fastcall TForm1::ADOConnectionSQLExecuteComplete(TADOConnection *,int,const Adoint::Error *,TEventStatus &,const _Command *,const _Recordset *)