DBConnection::sqlRes DBConnection::execute(const std::string& query) { try { return sqlRes(stmt_->executeQuery(query)); } catch (sql::SQLException e) { throw; }; }
std::auto_ptr<sql::ResultSet> CConectToMySql::ExecuteQuery(const std::string& sql) { // // CString c_sql=sql; // // CStringA a_sql(c_sql.GetBuffer(0)); // // c_sql.ReleaseBuffer(0); // // std::string executeSql = a_sql.GetBuffer(0); // // a_sql.ReleaseBuffer(0); // // // return (std::auto_ptr<sql::ResultSet> nullRes); std::auto_ptr<sql::ResultSet> sqlRes(NULL); if(m_pSqlCon==NULL || m_pSqlState==NULL || m_pSqlDriver==NULL) { return sqlRes; } try { m_pSqlState->execute("SET CHARSET GB2312"); std::auto_ptr<sql::ResultSet> res(m_pSqlState->executeQuery(sql)); sqlRes = res; } catch(sql::SQLException &e) { // // CString errcode=_T("# ERR: "); // std::string what = e.what(); // // errcode += what.c_str(); // // errcode += _T(""); // // errcode+=_T("(Mysql error code:"); // // errcode.AppendFormat(_T("%d"),e.getErrorCode()); // // errcode+=_T(",SQLState:"); // // errcode.AppendFormat(_T("%s"),e.getSQLState()); // // errcode+=_T(")"); // // #ifdef _DEBUG // // AfxMessageBox(errcode); // // #endif // // CWriteLogError log; // // log.WriteErrLog(errcode); std::string what = e.what(); std::wstring errcode=_T("# Mysql ERR: "); errcode += CCommonConvert::StringToWString(what); errcode += _T("("); errcode += _T("(Mysql error code:"); wstring wErrcodeNum; CCommonConvert::intToWString(e.getErrorCode(),wErrcodeNum); errcode += wErrcodeNum; errcode += _T(",SQLState:"); errcode += CCommonConvert::StringToWString(e.getSQLState()); errcode += _T(")"); CWriteLogError log; log.WriteErrLog(errcode); } return sqlRes; }