小q小坏 2016-06-04 01:50 采纳率: 50%
浏览 1111
已采纳

请问 c++builder2010 在事件中如何调用const参数

我想在 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 *)
  • 写回答

2条回答 默认 最新

  • 小q小坏 2016-06-04 03:00
    关注

    奥 自己顶一下.....

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?