我需要通过odbc的连接把系统的日期和时间写入数据库,定义的m_pSet->m_SampleDate和m_pSet->m_SampleTime都是CTime类型的。现在要通过m_pSet->m_SampleDate和m_pSet->m_SampleTime把当前日期和时间写入数据库应该怎么做?
数据库中的日期时间格式是这样的:
m_SampleDate      m_SampleTime
2008-9-23         2008-9-23 9:30:00

解决方案 »

  1.   


    // Example for CTime::GetCurrentTime
    CTime t = CTime::GetCurrentTime();
      

  2.   

    GetCurrentTime
    格式可能要转换一下
      

  3.   

    直接用Excute()执行SQL语句CString strDate,strTime;
    strDate = m_SampleDate.Format("%Y-%m-%d");
    strTime = m_SampleTime.Format("%Y-%m-%d %H:%M:%S");m_db.Excute("insert……")
      

  4.   

    在数据库中,m_SampleDate你是用的什么样的类型?m_SampleTime 又是什么类型??
    先把CTime类型数据转换成CString,然后格式化SQL语句就好了。
      

  5.   

    这个和数据库中定义也有关系么?我就看到在CMyRecord中定义m_SampleDate和m_SampleTime是CTime类型,而程序中另外的部分由别人做的
    他也只是通过给m_pSet->m_SampleDate和m_pSet->m_SampleTime赋一个CTime类型的值,就完成了写入数据库的操作。
    恩我看了ACCESS中的数据定义,m_SampleDate和m_SampleTime都是日期/时间的类型,但前者的格式是短日期,后者的格式是常规日期
    另外CTime t = CTime::GetCurrentTime();得到的t怎么样才能转成类似于数据库中的那种格式?
      

  6.   


    CString strDate,strTime; 
    strDate = m_SampleDate.Format("%Y-%m-%d"); 
    strTime = m_SampleTime.Format("%Y-%m-%d %H:%M:%S"); 
      

  7.   


    CString strDate,strTime; 
    strDate = m_SampleDate.Format("%Y-%m-%d"); 
    strTime = m_SampleTime.Format("%Y-%m-%d %H:%M:%S"); 
    //格式化sql语句
    CString strSql;
    strSql.Format("insert into [table](m_SampleDate, m_SampleTime) values('%s', '%s')", strDate, strTime);
    //执行sql语句
    ExeCute(strSql);
      

  8.   

    strDate = m_SampleDate.Format("%Y-%m-%d"); 
    strTime = m_SampleTime.Format("%Y-%m-%d %H:%M:%S"); 恕我愚昧,上面的m_SampleDate和m_SampleTime是什么?
      

  9.   

    COleDateTime dtCurrent;
    dtCurrent = COleDateTime::GetCurrentTime();
    CString strTime = dtCurrent.Format(_T("%Y-%m-%d %H:%M:%S"));
      

  10.   

    意思就是想11f说得那样是通过GetCurrentTime()得到的CTime类型的数据,然后将其分别格式化成strDate和strTime
    问题怎么将这两个CString类型的数据写到数据库中去我不太明白
    能解释下那个格式化sql语句和执行sql语句的过程说一下么?