在用ADO查询时,用DBGRID显示,想显示序号,怎么显示?(100分)

  • 主题发起人 主题发起人 zxf_friend
  • 开始时间 开始时间
Z

zxf_friend

Unregistered / Unconfirmed
GUEST, unregistred user!
在表中无序号,只是查询时,记录记录顺序,如查出10条,序号从1到10,查出30条就是1到30.
请问这个序号只是帮助查询人员更好的看记录,能实现吗?
 
加一列,adodataset1.recno,就行了!^_^
 
用计算字段
 
用AdO 又是文件型数据库, 你应该用的是access吧
先建一个与目标表结构完全一样的表,再在前面增加一个自动编码型字段ID, 初始值为1

insert into 目标表(学号,科目, 成绩...)
select 学号,科目, 成绩... from 源表 order by 成绩
最后输出
select * from 目标表
 
如果是oracle,可以在SQL语句中添加rownum,这是一个有1开始的正数,标志当前行数。
 
如果有过删除,自动编号的值就不连续了,怎样应计算字段得到连续的序号?
怎样支持删除和插入操作?
关注
 
用计算字段
在OnCalcFields事件中加入以下代码.
YourCalaField:=YourDataSet.RecNo.
 
我也赞同用用RecNo!
 
用计算字段
 
不知道我有没有理解错:在DBGRID中显示时,用计数器累加显示,即读一条,显示一条,计数器加一显示出来
 
老是说用RecNo,删除了记录就不连续了!
那序号不是也不连续了吗?!!!
 
这也许不是好的方法:加一个计算字段,算出记录号,当有删除或者新增时,
再重新查询(也就是刷新一下)。
 
说的容易,怎么算呀,前边的RECNO,用bde怎么一直是-1呢[:(]
 
说的不到点子上,有那位实现过?,我用dxGrid,计算字段似乎不行,删除或插入后
就乱了,在更新过程中onCaclulate事件会被触发多次。
再说,sql server, oracle,sybase都不支持recno
 
如果只是查询的话,还是可以用RECNO,但如果要修改的话就会有问题,所以用计算字段
会好很多。[:)][:)]
 
YourCalaField:=YourDataSet.RecNo.
 
select ''as XH, * from tablename
最后当取得数据后再给XH字段赋值
 
后退
顶部