数据库DateTime类型到Ctime类型转换

vc中的CTime类型数据因为自身长度不够,与Datetime类型的数据不能兼容。导致数据库导入datetime类型数据时,只显示“1970-1-1”这个时间。

解决办法是,现将数据库中的datetime类型数据导入成COleTime类型,然后在vc中转换为CTime类型,此时时间可以正常显示。示例代码如下:

   COleDateTime oletime;//声明ole对象,用于存放数据库中的datetime值

   oletime.m_dt = ado.pRecordset->GetCollect("Birth");//将数据库中“Birth”对象导入
   SYSTEMTIME systime; //声明systemtime对象(CTime数据结构)
   VariantTimeToSystemTime(oletime.m_dt, &systime); //  将oletime值赋值给systime对象  
   CTime tm(systime); //初始化CTime对象

   pDoc->cItemInfo[i].Birth = tm.GetTime() ;//赋值,其中Birth对象类型是CTime

 

你可能感兴趣的:(数据结构,数据库)