CRecordSet.Open(CRecordset::dynamic ,"你的SQL语句");就行了
关键是写好SQL语句。
关键是写好SQL语句。
解决方案 »
- 对话框程序,打印输出一些CString,有没有可以偷懒的方法?
- 软件更新原理 怎么样给自己写的小软件更新
- idl文件里面的[id(1) helpstring]当中的id(1)到底是什么含义,难道还有id(2),id(3)么?
- 对话框listbox控件如何更新项目文本
- ODBC Microsoft access登录失败
- ActiveX,头文件中声明数组变量,构造函数中赋值,成员函数使用时内存报错
- SHFileOperation函数 release 无法读取源文件
- 对记事本进行键盘hook,怎么能够按下"1"显示"2"
- 将线程函数声明为类的成员函数的问题(在线等)
- 请问一下各位,window 2000的各种图标在那些文件里?
- <<Essential C++>>是本好书,不过是很失败的书!!
- ===========请指点,怎样查找列表框中任意列的字符串===========
CRecordSet.Open("select count(*) from tab1");
我希望能得到其中的统计值,而不是结果集
1用GetRecordCount:
不过,我在做数据库程序时发现有下述情况:
VC的ODBC的类CRecordSet的函数GetRecordCount()无法得到具体的记录数,而DAO的CDaoRecordSet的函数GetRecordCount()可以得到具体的记录数,所以建议用DAO
2调用带返回值得sql语句
3创建记录集后用while来循环遍历记录集,然后设个计数器,不过这方法很苯的。实际上对于ACCESS数据库最好用DAO
CRecordset rst(&db);
rst.Open("SELECT Sum(money) from 表名");
long n = atoi(rst.GetFieldValue(0));
rst.Close();
采用类似的这种方法.
zzh的说法可行的,关键就是在Open语句上。
CString strSQL=CString("SELECT MAX(col1) FROM tab1");
CRecordset rst(&db);
rst.Open(CRecordset::snapshot,strSQL);
CString str;
short index = 0;
rst.GetFieldValue(index,str);
rst.Close();
运行时错误提示:在调用SQLFetchScroll/SQLExtendedFetch之前没有绑定数据列
我只是举个例子返回Max(col1),如何返回一个特定的统计值呢,不用存储过程,在结果集中得到?请高手帮忙