关于ADO的GetCollect函数解决方法
关于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字段的值是个空串,在处理时要注意判断一下。
刚开始学习数据库编程
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字段的值是个空串,在处理时要注意判断一下。