查询时使用PutFilter(),在调用Requery(),能成功,而排序时用PutSort()出错,各位知道可能是何原因?

解决方案 »

  1.   

    Open时的Select语句中用Order By。
      

  2.   

    Sort 属性 (ADO)
             指定一个或多个 Recordset 以之排序的字段名,并指定按升序还是降序对字段进行排序。设置和返回值设置或返回以之排序的字符串(用逗号分隔的字段名),其中的每个名称是 Recordset 中的 Field。可以选择后缀空格和用于指定字段排序顺序的关键字 ASCENDING 和 DESCENDING。 说明实际上数据并没有重新排列,只是简单地按排序的顺序进行访问。如果 CursorLocation 属性被设置为 adUseClient,并且索引尚不存在,则将为 Sort 属性中指定的每个字段创建临时索引。将 Sort 属性设置为空字符串将使行重置为原始顺序,并删除临时索引。现存索引将不被删除。
      

  3.   

    这是MSDN下摘录的,但使用中有问题.我是这样做的,请看有什么问题:
    _RecordsetPtr m_PtrRs;
    m_PtrRs->Open("....");CString strSort=_T("DocNo ASCENDING");
    m_PtrRs->PutSort( (_bstr_t)strSort.AllocSysString() );m_PtrRs->Requery();在PutSort()处出错.
      

  4.   

    你用try,catch来捕捉一下错误。OK?没有错误信息我们很难给你建议。
      

  5.   

    显示:Unknow error 0x800A0CB3