读书人

关于ADO的GetCollect函数解决方法

发布时间: 2012-03-03 15:33:04 作者: rapoo

关于ADO的GetCollect函数
刚开始学习数据库编程

void CUser::GetData(CString name)
{
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();

_bstr_t vSQL;
vSQL= "SELECT * FROM zhanghao WHERE name= ' "+name+ " ' ";

_RecordsetPtr m_pRecordset;
m_pRecordset=m_AdoConn.GetRecordSet(vSQL);

if(m_pRecordset-> adoEOF==1)
CUser();
else
{
_variant_t var;
var=m_pRecordset-> GetCollect( "name ");
UserName=(LPCTSTR)(_bstr_t )var;

//UserName=(LPCTSTR)(_bstr_t )(m_pRecordset-> GetCollect( "name "));
//Pwd=(LPCTSTR)(_bstr_t )m_pRecordset-> GetCollect( "pwd ");

}

m_AdoConn.ExitConnect();
}

本函数是想通过 访问数据库 获得一组数据 并存在一个 CUser 对象 user中
结果 运行时 出现 runtime error
我跟踪了 下 问题在于
运行到 var=m_pRecordset-> GetCollect( "name "); 这一句时发生错误
MSDN中 也没有 GetCollect 的 解释
小弟真是 没办法 了 高手们帮小弟个忙啊 !!!

还有就是 后面从 _variant_t 到 CString 数据类型的转换中 也不是很明白
希望大家 能指引我一下啊

[解决办法]
如果name字段的值是个空串,在处理时要注意判断一下。

读书人网 >VC/MFC

热点推荐