我想完成在VC中,通过编程实现对满足一固定条件的前5次记录的查询,大家帮我解决下吧。

解决方案 »

  1.   

    http://support.microsoft.com/kb/q141717/http://download.microsoft.com/download/vc50pro/sample/1/nt4/en-us/daotbl.exe
      

  2.   

    SQL语句?
    select top 5 ....
    from ...
    where ... condition = ...
    order by ...
      

  3.   

    我之前用的是SELECT TOP 5 * FROM TINDEX where INDEX_ID =strIndexID order by [时间的那个字段] ASC
    可是不对啊  编译不过去  说缺少参数啊
      

  4.   

    编译不过去,少参数?那是程序写得有问题,不关SQL的事
      

  5.   

    strIndexID 是什么?参数么?
    你调用的时候要给strIndexID赋值
      

  6.   

    int indexId = 1;
    CString sSQL;
    sSQL.Format("SELECT TOP 5 * FROM TINDEX where INDEX_ID =%d", index);
      

  7.   

    int indexId = 1;
    CString sSQL;
    sSQL.Format("SELECT TOP 5 * FROM TINDEX where INDEX_ID =%d", indexId); // 修正
      

  8.   

    最多你先在access里自己用那条sql查询一下,可行就表示sql没问题了
      

  9.   

    recordSet->MoveFirst();
    if(满足条件)
    {
    for(int i=0;i<5;i++)
    {
    recordSet->MovePrevious();
    输出~~
    }
    }
    else recordSet->MoveNext();
      

  10.   

    strSQL.Format("SELECT TOP 5 * FROM TINDEX where INDEX_ID ='s' order by [列车号] ASC ",strIndexID); 
    try
    {
    if (FTempRs->IsOpen())
    FTempRs->Close();
    FTempRs->Open(dbOpenDynaset, strSQL);
    }
    catch(CDaoException* e)
    {
    AfxMessageBox(e->m_pErrorInfo->m_strDescription, 
    MB_ICONEXCLAMATION );
    delete m_TrainInfoData;//这里没过去  显示至少应该有一个参数
    delete FTempRs;
    e->Delete();
    return FALSE;
    }
      

  11.   

    进catch中  就应该是上面的代码出问题了吧。哪里出的问题呢 ?
      

  12.   

    delete m_TrainInfoData;//这里没过去 显示至少应该有一个参数
    -------------------
    已经到错误处理块了。try块中哪儿出错?
      

  13.   

    SELECT TOP 5 * FROM TINDEX where INDEX_ID ='s' 
    ??
    %s吧