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

📄 mysqlrecordset.cpp

📁 视频播放控制器程序
💻 CPP
字号:
// MySqlRecordset.cpp: implementation of the CMySqlRecordset class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "MySqlRecordset.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CMySqlRecordset::CMySqlRecordset()
{
	m_row.allow_null(0);
	m_pResultset = NULL;
	m_pQuery = NULL;
}

CMySqlRecordset::CMySqlRecordset( sql_query_c* pQuery, sql_result_c* pResultset )
{
	m_row.allow_null(0);
	m_pResultset = pResultset;
	m_pQuery = pQuery;	
}

CMySqlRecordset::~CMySqlRecordset()
{
	if ( m_pQuery )	m_pQuery->free_result(m_pResultset);
}

/***************************************************************** 
** @name: GetRowCount
** @return __int64 记录集记录的数目
** @description: 
得到记录集记录的数目
****************************************************************/
__int64 CMySqlRecordset::GetRowCount()
{
	if ( m_pResultset )	return m_pResultset->n_rows();

	return 0;
}

/***************************************************************** 
** @name: GetFieldCount
** @return int 域的数目
** @description: 
得到记录集的域的数目
****************************************************************/
int CMySqlRecordset::GetFieldCount()
{
	if ( m_pResultset )	return m_pResultset->n_fields();

	return 0;
}

/***************************************************************** 
** @name: MoveNext
** @return void
** @description: 
滚动记录到下一条。函数不作溢出检查。由调用者保证。
****************************************************************/
void CMySqlRecordset::MoveNext()
{
	if ( m_pResultset )
		 m_row = m_pResultset->fetch_row();
}

/***************************************************************** 
** @name: GetFieldValue
** @param [in] int unIdx 数据库表的域(字段)的索引
** @return sql_var_c 当前记录的域(字段)的索引对应的字段的值,如
** 果索引溢出则返回空值
** @description: 
得到当前记录的域(字段)的索引对应的字段的值
****************************************************************/ 
sql_var_c CMySqlRecordset::GetFieldValue(int unIdx)
{
	sql_var_c valueNull;

	if (unIdx < GetFieldCount())
		return m_row[unIdx];

	return valueNull;
}

/***************************************************************** 
** @name: GetFieldValue
** @param [in] LPCTSTR lpszFieldName 数据库表的域(字段)的名称
** @return sql_var_c 当前记录的域名称对应的字段的值,如果名称错误
** 返回空值
** @description: 
得到当前记录的域名称对应的字段的值
****************************************************************/ 
sql_var_c CMySqlRecordset::GetFieldValue(LPCTSTR lpszFieldName)
{
	sql_var_c valueNull;
	
	sql_field_c field;
	for ( UINT idx=0; idx < (UINT)GetFieldCount(); idx++ )
	{
		field = m_pResultset->fetch_field(idx);
		if (strcmp(field.get_name(),lpszFieldName) == 0)
			return GetFieldValue(idx);
	}
	
	return valueNull;
}


⌨️ 快捷键说明

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