写一个函数:怎么方便得到某个表所有记录中某一字段的最大值? ?求救? 这个函数怎么写好了: 输入参数1: tabname 表名, 输入参数2: columnname 字段名,为int型 输出参数: maxvalue, 该字段最大值。如果没有记录就为1。 请问该函数如何比较简单? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select max(columnname) maxvalue from tabname {rs->Open("select maxvalue from tabname order by columnname desc", _variant_t( (IDispatch *)conn,true) , adOpenStatic , adLockOptimistic , adCmdText); if( rs->adoEOF) return 1;else return rs->GetCollect("maxvalue");} 在打开记录集之前最好判断一下rs的状态,如果正打开一个表,最好先rs->Close(); 不好意思,上面代码写错了,把所有的maxvalue改成columnname变量 CRecordSet pSet;pSet->Open(AFX_DB_USE_DEFAULT_TYPE,"select max(columnname) max_value maxvalue from tabname");CDBVariant varValue;pSet->GetFieldValue("max_value", %varValue);return varValue.m_lVal; to wanglei888(阿笨猫): 你的方法我用了。而且我在前面把 pSet改写为我自己的pSet(&db); 你的这里多了个 maxvalue,我也去掉了。该为: pSet->Open(AFX_DB_USE_DEFAULT_TYPE,"select max(columnname) max_value from tabname"); 编译当然没错,可运行的时候说: 在调用SQLFetchScroll/SQLExtendFetch之前没有绑定数据列!我想是没有绑定好列,不知道怎么方便绑定! 这样改试试:SQL语句使用:"select max(columnname) from tabname" // 去掉max_value然后pSet->GetFieldValue("max_value", %varValue);修改为:pSet->GetFieldValue(0, %varValue);GoodLuck! 呵呵:终于可以了,是这样的: pSet->Open(AFX_DB_USE_DEFAULT_TYPE,"select max(columnname) max_value maxvalue from tabname"); 上面这句话改为 pSet->Open(CRecordset::forwardOnly,"select max(columnname) max_value maxvalue from tabname"); 就可以了。呵呵! 谢谢各位,准备接分!! 关于从DLL加载图片资源的问题 关于数据库语句的效率问题 CSocket中的OnAccept的问题 vc编程WORD 请问各位大侠,如何由一个线程带多个QQ啊~up有分啦~ BringWindowToTop 后怎么恢复?不让他在最顶层? 买了<<WINDOWS程序设计>>第五版ce,放分 难题征解:COM中事件槽事件重载时Variant类型的获取问题 请问怎样用switch() case 语句来选择事件?? 请问C++,VC++,C++ BUILDER他们有什么不同? 谁有VC关于B/S方面的资料 用过seriaport的清进
rs->Open("select maxvalue from tabname order by columnname desc", _variant_t( (IDispatch *)conn,true) , adOpenStatic , adLockOptimistic , adCmdText); if( rs->adoEOF)
return 1;
else
return rs->GetCollect("maxvalue");
}
rs->Close();
你的方法我用了。而且我在前面把 pSet改写为我自己的pSet(&db);
你的这里多了个 maxvalue,我也去掉了。该为:
pSet->Open(AFX_DB_USE_DEFAULT_TYPE,"select max(columnname) max_value from tabname");
编译当然没错,可运行的时候说:
在调用SQLFetchScroll/SQLExtendFetch之前没有绑定数据列!我想是没有绑定好列,不知道怎么方便绑定!
SQL语句使用:
"select max(columnname) from tabname" // 去掉max_value然后
pSet->GetFieldValue("max_value", %varValue);修改为:
pSet->GetFieldValue(0, %varValue);GoodLuck!
呵呵:终于可以了,是这样的:
pSet->Open(AFX_DB_USE_DEFAULT_TYPE,"select max(columnname) max_value maxvalue from tabname");
上面这句话改为
pSet->Open(CRecordset::forwardOnly,"select max(columnname) max_value maxvalue from tabname"); 就可以了。呵呵!
谢谢各位,准备接分!!