CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  数据库

为什么我得到的总是当前时间?

楼主lsp5i5j(星辰->女人在哪)2004-05-03 23:06:01 在 VC/MFC / 数据库 提问

我想取数据库中的时间,就是FIELD的值,SQLSERVER数据库(datetime)型  
  用ADO连接,取别的类型没有问题,  
  代码如下:  
          varName   =   _variant_t("sCallerID");  
          var   =   m_pRecordset->GetCollect(varName);  
          strCallerID   =   (LPCTSTR)_bstr_t(var);  
          strCallerID.TrimRight();  
          varName   =   _variant_t("sLinkChannel");  
          var   =   m_pRecordset->GetCollect(varName);  
        strLinkChannel   =   (LPCTSTR)_bstr_t(var);  
      var   =     m_pRecordset->Fields->GetItem(LPCTSTR("CallTime"))->Value;  
  //////*********************************  
      switch(var.vt)    
  {  
        case   VT_DATE:  
  {  
          COleDateTime   dt(var);  
        if(strTime.IsEmpty())  
      strTime   =   _T("%Y-%m-%d   %H:%M:%S");  
  CString   str   =   dt.Format(strTime);  
    /*     time   =   COleDateTime(_variant_t(var));  
  strTime.Format("%02d-%02d-%02d   %02d:%02d:%02d",time.GetYear(),time.GetMonth(),time.GetDay(),time.GetHour(),time.GetMinute(),time.GetSecond());*/  
        }  
  break;  
                case   VT_EMPTY:  
                case   VT_NULL:  
                  time.SetStatus(COleDateTime::null);  
  strTime   =   "NULL";  
                  break;  
                default:  
        return   ;  
  }  
   
  } 问题点数:40、回复次数:5Top

1 楼lsp5i5j(星辰->女人在哪)回复于 2004-05-03 23:07:10 得分 0

 
  其实代码就是这个,我想取数据库FIELD的时间,可总不能成功,WHY?  
  switch(var.vt)    
  {  
        case   VT_DATE:  
  {  
          COleDateTime   dt(var);  
        if(strTime.IsEmpty())  
      strTime   =   _T("%Y-%m-%d   %H:%M:%S");  
  CString   str   =   dt.Format(strTime);  
    /*     time   =   COleDateTime(_variant_t(var));  
  strTime.Format("%02d-%02d-%02d   %02d:%02d:%02d",time.GetYear(),time.GetMonth(),time.GetDay(),time.GetHour(),time.GetMinute(),time.GetSecond());*/  
        }  
  break;  
                case   VT_EMPTY:  
                case   VT_NULL:  
                  time.SetStatus(COleDateTime::null);  
  strTime   =   "NULL";  
                  break;  
                default:  
        return   ;  
  }  
   
  }  
  Top

2 楼lsp5i5j(星辰->女人在哪)回复于 2004-05-03 23:07:40 得分 0

上面俩种方法都没取成功Top

3 楼anufa(阿羽)回复于 2004-05-07 12:12:01 得分 5

_variant_t   birthday   =   m_pRecordset->GetCollect("Birthday");  
  COleDateTime   time1=(COleDateTime)(_variant_t)birthday;  
  time1.Format("%Y-%M-%D");  
  str.Format("%d-%d-%d",time1.GetYear(),time1.GetMonth(),time1.GetDay());  
   
  我这么做行(没判断VT)Top

4 楼zhonglingqqxh(扫帚的影子)回复于 2004-05-07 12:52:48 得分 35

_variant_t   birthday   =   m_pRecordset->GetCollect("Birthday");  
  COleDateTime   time   =   birthday;  
  CString   str   =   time.Format("%Y-%m-%d");  
   
  想简单一点,可以这样写!  
   
  试试看,祝你成功!Top

5 楼lsp5i5j(星辰->女人在哪)回复于 2004-05-07 14:32:33 得分 0

还是不行,是不是我数据库里面的类型有问题  
  SQLSERVER数据库(datetime)Top

相关问题

  • jsp中怎么得到当前时间?
  • 如何得到当前时间?
  • 如何得到当前时间?
  • 如果得到当前日期时间
  • 怎么得到当前时间???
  • 怎么得到当前时间后一年的时间(SQL server )
  • 请教:我想得到当前时间的时和分,如何得到????
  • 请问:java中怎样得到当前时间
  • 请问,如何得到当前的日期和时间??谢谢!
  • 怎样得到当前时间,千分之一秒级?

关键词

  • null
  • strtime
  • coledatetime
  • varname
  • precordset
  • lpctstr
  • variant
  • case vt
  • time
  • var

得分解答快速导航

  • 帖主:lsp5i5j
  • anufa
  • zhonglingqqxh

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo