CRecordSet.Open(CRecordset::dynamic ,"你的SQL语句");就行了
关键是写好SQL语句。
关键是写好SQL语句。
解决方案 »
- 从资源中显示PNG图片的问题
- 在VC程序中如何连接远程SYBASE数据库?
- 怎样是CStatic的底色为透明的,使其不覆盖下层的颜色?
- 出问题了!我的win2k总是时不时出现“信使服务”
- 在一个多类型文档程序,如何取出CDocTemplate里的所有RUNTIME_CLASS,重要的是怎么样遍历?
- 如何为编程为我的文件加密?
- 怎样在让RICHEDIT检查输入的文本如果是如:WWW。XXXX。NET的网址让它用一个颜色显示?
- WH_GETMESSAGE钩子的问题[SDK]刚才那个不知道为什么打不开!
- vc菜鸟再提问!!
- 如何把含有汉字的BSTR转换为char*字符串?
- <<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),如何返回一个特定的统计值呢,不用存储过程,在结果集中得到?请高手帮忙