⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 result_use.cc

📁 有关MYSQL的开源码
💻 CC
字号:
#include "mysqlcppapi/query_results/Result_Use.h"#include "mysqlcppapi/Connection.h"namespace mysqlcppapi{Result_Use::Result_Use(){}Result_Use::Result_Use (MYSQL_RES* pResult, bool bFullFieldInfo /* = false */):  m_Fields(pResult, bFullFieldInfo){  //This underlying result will be freed after the last unreference.  m_pMySQL_Res = type_sharedptr_cresult(pResult);   if(m_Fields.size())    m_table_name = m_Fields[0].get_TableName();}Result_Use::Result_Use (MYSQL_RES* pResult, const Connection& connection, bool bFullFieldInfo /* = false */) :  m_Fields(pResult, bFullFieldInfo){  //It would be nice to just copy the Connection, instead of using a SharedPtr<>(new Connection),  //but that would cause a circular #include.  m_connection = type_sharedptr_connection(new Connection(connection));  //This underlying result will be freed after the last unreference.  m_pMySQL_Res = type_sharedptr_cresult(pResult);  if(m_Fields.size())    m_table_name = m_Fields[0].get_TableName();}Result_Use::Result_Use(const Result_Use& src){  m_connection = src.m_connection;  m_pMySQL_Res = src.m_pMySQL_Res;  m_Fields = src.m_Fields;  m_table_name = src.m_table_name;}Result_Use::~Result_Use (){}Result_Use& Result_Use::operator=(const Result_Use& src){  if(this != &src)  {    m_connection = src.m_connection;    m_pMySQL_Res = src.m_pMySQL_Res;    m_Fields = src.m_Fields;    m_table_name = src.m_table_name;  }  return *this;}bool Result_Use::operator==(const Result_Use& src) const{  return m_pMySQL_Res == src.m_pMySQL_Res;}bool Result_Use::operator!=(const Result_Use& src) const{  return !(operator==(src));}Row Result_Use::fetch_row(){  if (!m_pMySQL_Res)    throw ex_BadQuery("Results not fetched");     MYSQL_ROW row = ::mysql_fetch_row(m_pMySQL_Res.obj());  Row::type_length* length = ::mysql_fetch_lengths(m_pMySQL_Res.obj());  if (!row || !length)    throw ex_BadQuery("Bad row");    return Row(row, *this, length);}/*FieldInfo Result_Use::fetch_field() const{  MYSQL_FIELD* pMysqlField = ::mysql_fetch_field(m_pMySQL_Res.obj());  if(!pMysqlField)    throw ex_base("mysql_fetch_field() failed.");  return FieldInfo(*pMysqlField);}*/Fields Result_Use::get_fields() const{  return m_Fields;}Result_Use::size_type1 Result_Use::num_fields() const{  return m_Fields.size();}Result_Use::type_vecLengths Result_Use::get_lengths() const{  type_vecLengths vecResult;    size_type1 count = num_fields();  long unsigned int* pLengths = ::mysql_fetch_lengths(m_pMySQL_Res.obj());  for(size_type1 i = 0; i < count; i++)  {    vecResult.push_back(pLengths[i]);  }   return vecResult;}bool Result_Use::eof() const{  return mysql_eof(m_pMySQL_Res.obj());}  std::string Result_Use::get_table_name() const{  return m_table_name;} } //namespace

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -