vc中访问oracle数据库,一个表的字段为timestampe类型,结束时候报错,很奇怪
#include <afxtempl.h>
//全局数据区
CDatabase *gdb= NULL;
CRecordset *recordset=0;
CString g_str_ODBC = "ODBC;DBQ=ITMS;DSN=njgd;UID=njgd;PWD=njgd123456;QTO=F";
void main()
{
//从数据源获取数据
gdb=new CDatabase;
gdb->OpenEx(g_str_ODBC,CDatabase::noOdbcDialog);
recordset=new CRecordset(gdb);
CString count;
CString strSQL;
recordset->Open(CRecordset::forwardOnly,"select max(time) from t_alarm_event");
recordset->GetFieldValue(short(0),count);
recordset->Close();
return;
}
就是一个很简单的程序,然后time字段是timestamp类型的,然后函数return的时候报错
#include <afxdb.h>
如果是别的类型的字段完全没问题
求助!
[解决办法]
#define PDate timestamp.m_pdate
CString getTimeFromTimeStamp(CDBVariant & timestamp)
{
CString time;
CTime timeTT(PDate->year,PDate->month,PDate->day,PDate->hour,PDate->minute,PDate->second);
time=timeTT.Format("%Y-%m-%d %H:%M:%S);
return time;
}
已经解决