关于access数据库的排序问题

likangning 2003-11-12 02:51:58
rs.Open(CRecordset::dynaset,"select * from Bom order by No desc");
rs.Open(CRecordset::dynaset,"select * from Bom order by No");
我想对Bom表中所有数据按照No项进行排序(在access数据库中)可是查出来的数据并没有排序,为什么呢?哪位大哥大姐教教我如何排序?急呀!
...全文
126 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
yifeng_ch 2003-11-13
  • 打赏
  • 举报
回复
up
gaoxiaopai 2003-11-13
  • 打赏
  • 举报
回复
我知道原因了,老兄,你的错误是因为用了特殊字符,你把列名(No)换成别的比如(abc)就完全没问题了。!
ByronLiu 2003-11-12
  • 打赏
  • 举报
回复
m_wndTreeCtrl.SortChildren(HTREEITEM Item);

你用树控制吧!
likangning 2003-11-12
  • 打赏
  • 举报
回复
难道没有人可以帮助我了吗?
狂晕~~~
zhucde 2003-11-12
  • 打赏
  • 举报
回复
你既然用TreeCtrl来显示,
那排序的过程应该在TreeCtrl来控制.

其实我想
rs.Open(CRecordset::forwardOnly,"select * from Bom order by No desc");
所得到的记录是按顺序来排列的,
但是你让它们显示出来时顺序就不会按刚才的排序了,
因为控件有自己的排序方法.
likangning 2003-11-12
  • 打赏
  • 举报
回复
BOOL fOK=db.OpenEx(_T("DSN=abc"), CDatabase::noOdbcDialog);
TRACE("connect fOK=%d\n",db);
数据是显示了,但还是没有排序

BOOL fOK = db.Open("DSN=abc");
TRACE("connect fOK=%d\n",db);
或 BOOL fOK = db.Open("abc");
TRACE("connect fOK=%d\n",db);
程序运行时提示:系统资源不足,请退出所有程序!
likangning 2003-11-12
  • 打赏
  • 举报
回复
这一条命令:
TRACE("connect fOK=%d\n",m_dbConn);
加不加都一样,因为数据是显示了,但还是没有排序
zhucde 2003-11-12
  • 打赏
  • 举报
回复
用下面的方法打开数据库试试:

CDatabase m_dbConn;
BOOL fOK = m_dbConn.Open("test");//打开数据库
TRACE("connect fOK=%d\n",m_dbConn);

CRecordset rs(&m_dbConn);
rs.Open(CRecordset::forwardOnly,"select * from Bom order by No desc");
rs.Open(CRecordset::dynaset,"select * from Bom order by No");
likangning 2003-11-12
  • 打赏
  • 举报
回复
楼上的大哥,我一加上
rs.m_strSort = "No";
程序运行时提示:系统资源不足,请退出所有程序!
FlyYang 2003-11-12
  • 打赏
  • 举报
回复
在打开之前设置CRecordset的成员m_strSort试试
rs.m_strSort = "No";
rs.Open(CRecordset::dynaset,"select * from Bom order by No desc");
rs.Open(CRecordset::dynaset,"select * from Bom order by No");


---------
++C++
---------
likangning 2003-11-12
  • 打赏
  • 举报
回复
斑主在哪里?小弟向你请教呀
likangning 2003-11-12
  • 打赏
  • 举报
回复
是这样的,access数据库中有一张表Bom,表中有很多数据,我想按照表中的No项对数据排序后分别在TreeCtrl和Excel中显示出来。采用了语句:
rs.Open(CRecordset::dynaset,"select * from Bom order by No desc");
rs.Open(CRecordset::dynaset,"select * from Bom order by No");
数据是显示出来了,可是这些数据没有按照我所需要的升序/降序排列,需要各位高手帮忙!!
谢了先!
lasery 2003-11-12
  • 打赏
  • 举报
回复
rs->sort = "No desc"
lovenoend 2003-11-12
  • 打赏
  • 举报
回复
问题问的不清楚??
详细点
likangning 2003-11-12
  • 打赏
  • 举报
回复
原来高手全都在,大家帮帮我这个弱智呀
likangning 2003-11-12
  • 打赏
  • 举报
回复
我是用TreeCtrl和Excel来显示的,总之显示结果没有排序
yintongshun 2003-11-12
  • 打赏
  • 举报
回复
你是用ListCtrl显示的吧,Sort属性设置一下就好了
zhucde 2003-11-12
  • 打赏
  • 举报
回复
不是查出来没有排序,而是显示时没有排序,
你是用什么来显示记录的.

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧