Example #1
0
	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;
}