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

请问 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条回答 默认 最新

  • benyueyue
    小q小坏 2016-06-04 03:00
    已采纳

    奥 自己顶一下.....

    点赞 评论
  • benyueyue
    小q小坏 2016-06-06 13:34

    奥 请大家 帮帮忙 新手不会。。。。

    点赞 评论

相关推荐