_ConnectionPtr数据库查询的有关问题
_ConnectionPtr数据库查询的问题?
数据库是MYSQL,直接在EMS下运行下面的SQL语句能得到一条记录,但在程序中查询不到
_RecordsetPtr testp = m_dbconn->Query(CString("select sum(sec1) from report_backup"));
if (!testp->adoEOF){
int aaa = 0;
}
===============m_dbconn的方法===================
_RecordsetPtr CAdoEx::Query(LPCTSTR lpQuery)
{
_RecordsetPtr rtn = NULL ;
_variant_t vRecsAffected ;
if(!m_bOpen) return NULL ;
try {
rtn = m_pConnection->Execute(lpQuery, &vRecsAffected, adOptionUnspecified) ;
} catch(_com_error e) {
throw new CExp(_T("cantConnect"),_T("查询数据库表时发生异常:%s"), e.ErrorMessage());
}
return rtn ;
}
========================================
------解决方案--------------------
------解决方案--------------------
你把select sum(sec1) from report_backup直接丢到MYSQL中执行可以查到记录吗?
------解决方案--------------------
有个小问题,楼主能不能先确认一下,这个sec1的数据类型??
因为在SQL中,使用MAX()的话,如果参数是字符,它会自动选择按拼音排序最后的一个
但是如果在SUM()中使用字符的话,会报错!
------解决方案--------------------
但楼主不是说丢到数据库中直接执行没有问题吗??
------解决方案--------------------
二楼的别误导,
谁说EXCUTE不能获得记录集的
OPEN和EXCUTE是两中不同的获得记录集的方法
问题不在那
我想是SQL出了问题!!!!!!!!!
数据库是MYSQL,直接在EMS下运行下面的SQL语句能得到一条记录,但在程序中查询不到
_RecordsetPtr testp = m_dbconn->Query(CString("select sum(sec1) from report_backup"));
if (!testp->adoEOF){
int aaa = 0;
}
===============m_dbconn的方法===================
_RecordsetPtr CAdoEx::Query(LPCTSTR lpQuery)
{
_RecordsetPtr rtn = NULL ;
_variant_t vRecsAffected ;
if(!m_bOpen) return NULL ;
try {
rtn = m_pConnection->Execute(lpQuery, &vRecsAffected, adOptionUnspecified) ;
} catch(_com_error e) {
throw new CExp(_T("cantConnect"),_T("查询数据库表时发生异常:%s"), e.ErrorMessage());
}
return rtn ;
}
========================================
------解决方案--------------------
------解决方案--------------------
你把select sum(sec1) from report_backup直接丢到MYSQL中执行可以查到记录吗?
------解决方案--------------------
有个小问题,楼主能不能先确认一下,这个sec1的数据类型??
因为在SQL中,使用MAX()的话,如果参数是字符,它会自动选择按拼音排序最后的一个
但是如果在SUM()中使用字符的话,会报错!
------解决方案--------------------
但楼主不是说丢到数据库中直接执行没有问题吗??
------解决方案--------------------
二楼的别误导,
谁说EXCUTE不能获得记录集的
OPEN和EXCUTE是两中不同的获得记录集的方法
问题不在那
我想是SQL出了问题!!!!!!!!!