我想在CRecordset的Open()方法里使用标准的SQL格式,比如:
m_pSet.Open(AFX_DB_USE_DEFAULT_TYPE, "select * from my_table where... group by... order by...");
执行时为什么说语法错或是参数不足???
难道必须使用m_strFilter和m_strSort吗?那如果要使用GROUP BY,DISTINCT类似的子句呢?
听说可以使用CDatabase::ExecuteSQL()方法,但如何获得结果集呢?有没有更好的方法?
还请大虾多多帮忙!!!!!

解决方案 »

  1.   

    用m_pSet.Open(AFX_DB_USE_DEFAULT_TYPE, "select * from my_table where... group by... order by...",NULL);试试
      

  2.   

    不应该吧。我这样用怎么没问题,按道理讲Open()函数应该三个参数,但第三个参数可以使缺省值none.
      

  3.   

    主要是select * from my_table where... group by... order by...有错,order by中的字段和 (select *)中的字段一定要包含在group by中,可能你(select *)选择了表中所有字段,而group by又没有,所以出错