各位大侠,小弟最近在搞一个管理系统,以MFC通过DAO连接ACCESS数据库,在自己的电脑上面能够很好的实现一切功能,可是当我将它移植到学校机房时,竟然读不出时间,我同学也同样的问题,他用的SQL Server 数据库,但是能够将时间写到数据库中,就是读不出啊.
我读取数据库时间的代码如下:
CString st;
switch(variant->vt)
 case VT_DATE:{
       COleDateTime t(variant->date);
      st = t.Format( "%B %d, %  Y" );//Day of Week, Month Day, Year

break;
//其中variant保存了数据库中得到的数据

解决方案 »

  1.   

    读时间值
    _bstr_t TheValue=m_pset->Fields->GetItem("出生年月")->Value;
    temp=(char *)TheValue;
    COleVariant vtime(temp);
    vtime.ChangeType(VT_DATE);
    COleDateTime time=vtime;
    我在SQL数据库下使用过,OK
      

  2.   

    控制面板里的区域选项里,把日期时间格式调整成和你的机器一样。
    如果还不行,试试更新Mdac
      

  3.   

    取出来要转化一下。看看 laiyiling(陌生人·V2.0) 得回复。
      

  4.   

    同意 jazy() 的说法,将时间转换成长整型或者字符型都可以。
      

  5.   

    switch(variant->vt)
     case VT_DATE:{1、你的variant是个指针吗?
    2、个人认为这样写不太妥当,因为variant->vt很可能是两个值做“或”得到了,所以这样判断可能会出问题。
    你可以写个最简单的例子去试试。
      

  6.   

    还可以试试安装版本高些的MDAC。