操作ACCESS的类CADOConn (四)

2014-11-24 03:07:08 · 作者: · 浏览: 15

函数名: Open
作 者: 谭友亮(Charles Tan)
日 期: 2013-3-5
作 用: 打开字符集
形参数: strSQL SQL语句
返回值: TRUE:成功 FALSE:失败
修改记录:
************************************************************************/
BOOL CADOConn::Open(CString strSQL)
{
try
{
//连接数据库,如果Connection对象为空,则重新连接数据库
if(m_pConnection == NULL)
{
InitCADOConn();
}

strSQL.TrimLeft();
strSQL.TrimRight();
//创建记录集对象
m_pRecordset.CreateInstance(__uuidof(Recordset));
//取得表中的记录
m_pRecordset->Open(_bstr_t(strSQL), m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
return FALSE;
}

return TRUE;
}

/************************************************************************
函数名: ExecuteSQL
作 者: 谭友亮(Charles Tan)
日 期: 2013-3-5
作 用: 执行SQL语句(Insert Update delete)
形参数: strSQL SQL语句
返回值: TRUE:成功 FALSE:失败
修改记录:
************************************************************************/
BOOL CADOConn::ExecuteSQL(CString strSQL)
{
try
{
//连接数据库,如果Connection对象为空,则重新连接数据库
if(m_pConnection == NULL)
{
InitCADOConn();
}

strSQL.TrimLeft();
strSQL.TrimRight();
m_pConnection->Execute(_bstr_t(strSQL), NULL, adCmdText);
return TRUE;
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
return FALSE;
}
return TRUE;
}

/************************************************************************
函数名: MoveFirst
作 者: 谭友亮(Charles Tan)
日 期: 2013-3-6
作 用: 记录集移向开头
形参数:
返回值: TRUE:成功 FALSE:失败
修改记录:
************************************************************************/
BOOL CADOConn::MoveFirst()
{
if(m_pRecordset == NULL)
{
return FALSE;
}
else
{
m_pRecordset->MoveFirst();
return TRUE;
}
}

/************************************************************************
函数名: MoveNext
作 者: 谭友亮(Charles Tan)
日 期: 2013-3-6
作 用: 记录集向下移动
形参数:
返回值: TRUE:成功 FALSE:失败
修改记录:
************************************************************************/
BOOL CADOConn::MoveNext()
{
if(m_pRecordset == NULL)
{
return FALSE;
}
else
{
if(!m_pRecordset->adoEOF)
{
m_pRecordset->MoveNext();
return TRUE;
}
else
{
return FALSE;
}
}
}

/************************************************************************
函数名: GetItemString
作 者: 谭友亮(Charles Tan)
日 期: 2013-3-6
作 用: 取得字段中的字符串
形参数: index:字段集中的索引
返回值:
修改记录:
************************************************************************/
CString CADOConn::GetItemString(int index)
{
_variant_t vValue;
_variant_t vIndex;
CString strValue, str;

if (m_pRecordset == NULL || m_pRecordset->adoEOF)
{
return "";
}

vIndex.vt = VT_I2