CString szSQL,szTemp;
CADORecordset rst(&m_Database);
//select * from ( select * from T where A = a ) order by B desc where rownum<2;
//首先是选出这条记录,然后这条记录呢,就是rst
//然后我用GetFieldValue逐个取rst中的每个字段的值,放到我的变量中,应该就是这样了吧
try
{
szSQL.Format("select * from "
"(select * from ALARMAREANAMEID where SIMID='%s')"
"order by REQUESTINTIME desc where rownum < 2 and RESTORETIME is null",szSimID);这句话哪里有问题?》
CADORecordset rst(&m_Database);
//select * from ( select * from T where A = a ) order by B desc where rownum<2;
//首先是选出这条记录,然后这条记录呢,就是rst
//然后我用GetFieldValue逐个取rst中的每个字段的值,放到我的变量中,应该就是这样了吧
try
{
szSQL.Format("select * from "
"(select * from ALARMAREANAMEID where SIMID='%s')"
"order by REQUESTINTIME desc where rownum < 2 and RESTORETIME is null",szSimID);这句话哪里有问题?》
rst.GetFieldValue("USERCARID",szUseCarNumber);
rst.GetFieldValue("AREAID",szArea);我的sql语句是select * from (select * from AREAUSERCARLOG where SIMID=13761456531) where REQUESTINTIME=(select max(REQUESTINTIME) from (select * from AREAUSERCARLOG where SIMID=13761456531));我的vc ado 提示这个错误
提示这个错误(Description:对象关闭时,不允许操作。)
rst.GetFieldValue("USERCARID",szUseCarNumber);
rst.GetFieldValue("AREAID",szArea);我的sql语句是select * from (select * from AREAUSERCARLOG where SIMID=13761456531) where REQUESTINTIME=(select max(REQUESTINTIME) from (select * from AREAUSERCARLOG where SIMID=13761456531));我的vc ado 提示这个错误
提示这个错误(Description:对象关闭时,不允许操作。)
a是什么?我觉得应该有单引号吧,sql执行的时候,先执行where,最后执行order by
不知道你的rownum是不是自己定义的
如果不是的话,那么rownum是指排序之前的rownum,因此不能得到最大纪录
如果要得到最大纪录,直接用max应该就可以了吧
当然如果要用rownum,可以参考一下这个
oracle top n 问题
Oracle 不支持 TOP 关键字:不过这个好像并不十分严重,因为它提供了 rownum 这个隐式游标,可以实现与 TOP 类似的功能,如: SELECT TOP 10 ... FROM WHERE ...
要写成 SELECT ... FROM ... WHERE ... AND rownum <= 10
rownum 是记录序号(1,2,3...),但有一个比较麻烦的事情是:如果 SQL 语句中有 ORDER BY ... 排序的时候,rownum 居然是先“标号”后排序!这样,这个序号如果不加处理是不合乎使用需求的。 至于临时表,Oracle 的临时表和 SQL Server 的有很大不同。 根据这篇文章的介绍,可以如下分页: SELECT * FROM
(
SELECT A.*, rownum r
FROM
(
SELECT *
FROM Articles
ORDER BY PubTime DESC ) A
WHERE rownum <= PageUpperBound
) B
WHERE r > PageLowerBound;
其中蓝色部分可以改为任意的、需要的 SQL SELECT 语句,这点倒是挺方便的。