我的程序是要实时存入监控的遥测数据。但是怎么来把日期时间写如数据库,
且又怎么来通过时间来查询数据库的数据。初学数据库,望大家帮忙!!!!!

解决方案 »

  1.   

    讲解不如举例,下面是我以前一个监控程序的片段(用的是ODBC)。日期时间写入数据库
    if(!m_pRecOdbcSet->CanAppend())
    {
    m_pRecOdbcSet->Close();
    return;
    } m_pRecOdbcSet->AddNew(); m_pRecOdbcSet->m_rec_id=str;
    m_pRecOdbcSet->m_start_time=CTime::GetCurrentTime();   if(!m_pRecOdbcSet->Update())
    AfxMessageBox("更新数据库失败!");
    //通过时间来查询,例如以下查今天的记录 m_dbOdbc.Open(NULL,FALSE,FALSE,"ODBC;DSN=VREC");
    pRecOdbcSet = new CRecOdbcSet(&m_dbOdbc);
    try 
    {
    char filter[100];
    int k1,k2,k3;
    k1=m_QueryDate.GetYear();
    k2=m_QueryDate.GetMonth();
    k3=m_QueryDate.GetDay(); wsprintf(filter,"(Year(rec.start_time)=%d) AND (Month(rec.start_time)=%d) AND (Day(rec.start_time)=%d)",k1,k2,k3);
    pRecOdbcSet->m_strFilter=filter;
    pRecOdbcSet->m_strSort="rec.start_time,rec.site,convert(int,rec.channel_id)"; pRecOdbcSet->Open();
    }
    catch (CDBException *e)
    {
    AfxMessageBox(e->m_strError);
    return FALSE;
    }