m_pConnection = NULL;
m_pRecordset = NULL;
_variant_t RecordsAffected;
CString strSQL;//连接字符串
try
{
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->ConnectionString = _bstr_(strSQL);
m_pConnection->Open("","","",NULL);
m_pRecordset =  m_pConnection->Execute("SELECT COUN(*)
                                  FROM user",&RecordsAffected,adCmdText);
strSQL.Format("INSERT INTO user(ID,DataTime) 
                                 VALUES (%d,%s)",nID,nDateTime);
m_pConnection->Execute((_bstr_t)
                                      strSQL,&RecordsAffected,adCmdText);

}
catch(_com_error &e)
    {
AfxMessageBox(e.ErrorMessage());    }
ID 是一个int型的数据,DataTime是一个DATE型的数据
现在出现问题在%s这个地方,请问怎么把nDataTime插入到数据库

解决方案 »

  1.   

    这就好办啦!strSQL.Format("INSERT INTO user(ID,DataTime) 
                                     VALUES (%d,%f)",nID,nDateTime);
      

  2.   

    use COleDateTime 
    example:
    CString m_strCustomerName;
    COleDateTime m_dtLastModified;
    void SetCustomerName(CString strNew) {
    m_dtLastModified = COleDateTime::GetCurrentTime();
    m_strCustomerName = strNew;
    m_strCustomerName.FreeExtra(); }
      

  3.   

    先把DateTime变为字符串类型:DateTime一般是CTime 类型,
         CString sDate= DateTime.Format("Y%-m%-d%",DateTime);
    然后,直接把sDate给数据库中DateTime字段负值
         strSQL = INSERT INTO user(ID,DataTime) VALUES (nID,sDateTime);
         m_pConnection->Execute(
                   (_bstr_t)strSQL,&RecordsAffected,adCmdText);
    这样负值的格式为:2002-06-12若要其他格式查看CTime::Format的参数即可
      

  4.   

    将使用SystemTimeToVariantTime   将Variant值通过ADO写入数据库
      

  5.   

    使用SystemTimeToVariantTime   将Variant值通过ADO写入数据库
      

  6.   

    使用SystemTimeToVariantTime   将Variant值通过ADO写入数据库
      

  7.   

    这是把当前系统时间写入Time字段
    COleDateTime CurDateTime;
    CurDateTime=COleDateTime::GetCurrentTime();
    _variant_t varTime=CurDateTime;
    m_pRecordset->PutCollect("Time",varTime);
      

  8.   

    使用SQL插入DATA类型数据时!可以指定‘’来修饰DATA!
    像INSERT INTO XXXX(ID,F_DATE) VALUES('333','2002-6-12 13:0:0')
    但是有一点要注意的是,如是ACCESS数据库,使用查询时,DATA类型要加#
    来修饰!
    我在开发时就碰到了这样的问题!我一般都是使用SQL来执行各种插入,删除