怎样写SQL语句:select "记录序号" as Number, * from table
其中的“记录序号”从1开始向下排序显示,就象DB Desktop显示表格内容时最左边一列那样? 问题点数:32、回复次数:6Top
1 楼FANGAO(凡高)回复于 2001-12-18 11:23:35 得分 0
使用自动增量字段Top
2 楼Dala(Dala)回复于 2001-12-18 12:02:10 得分 0
SORRY,我没说清楚。
记录序号是按照DBGrid对记录显示的顺序设定的,它永远是从1开始,然后+1递增。例如,表格中有4条记录,其自动增量字段ID值分别为1,2,4,5.如果select * from table,则在DBGrid中显示的是ID值1245.现在我希望DBGrid的第一列显示记录序号1234,而不是字段ID的1245,即没有缺号、乱序等现象。Top
3 楼cmsoft(韦小宝是我的老乡)(草根在路上)回复于 2001-12-18 13:25:16 得分 8
这不是很简单
你可以在DBGrid中的ID这一列用一个变量i来表示,你取记录集的时候将这个变量i初始化为1,然后取一条记录后加1,这不就行了!Top
4 楼wyb_45(小兵)回复于 2001-12-18 14:14:02 得分 8
这是在ORACLE里的写法
select rownum,t.a1,t.a2 from table_s t
可以实现你的要求。
但ORACLE对你有可能不适用。
其中rownum就会显示行号。Top
5 楼Dala(Dala)回复于 2001-12-18 15:48:53 得分 0
rownum果然不适用。我用的是本地的Paradox数据库。
我刚刚用TDataset->RecNo解决了。
或许Joker的方法更好?分照给。
Joker能否说详细点?比如如何用i表示一列,取记录集用什么事件...
Top
6 楼fireworld(火世界)回复于 2001-12-18 23:13:53 得分 16
在头文件中定义一个变量INT I=0;
在ADODATASET字段编辑器中创建ID计算字段(INT型)。
在ADODATASET的ONCOLFIELD事件中加入如下代码:
ADODATASET-》FIELDBYNAME(“ID”)-》VALUE=++I;Top




