数据库读写捕获_com_error错误的注意事项

 

 

 

 

Code

 

  当走到m_sErrorMessage=(LPSTR)(LPCTSTR)tchStr 一步后,m_sErrorMessage有正常值,但走完return false后m_sErrorMessage指针错误,原因是tchStr为局部变量,而m_sErrorMessage=(LPSTR)(LPCTSTR)tchStr 让m_sErrorMessage指针指向了要被销毁的局部变量。

  解决方法:把m_sErrorMessage声明为std::string,  ex->GetErrorMessage(m_sErrorMessage,255)处则先用char m_chErrorMessage[255]获取错误信息,再直接 m_sErrorMessage=m_chErrorMessage赋值

 

你可能感兴趣的:(error)