線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1490
推到 Plurk!
推到 Facebook!

请问dbgrid上有delete或insert等操作时,序号栏位怎样重新排列

答題得分者是:小傑克
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-07-25 23:25:21 IP:58.100.xxx.xxx 訂閱
各位大大好:
比如,我在一张单据上有一个栏位是序号,按1,2,3,4,5.....次序排下去,现在我想在这个dbgrid上进行delete,insert等操作,那么,怎样才能让序号栏位继续保持顺序呢?

比如我在dbgrid上有五条资料,序号是1,2,3,4,5,现在我把第3条删除,那么,原来的第4第5条记录的序号能自动变成3,4.
又比如我新insert一条资料为4,那么以前的第4第5条资料的序号能变成5,6

ps: 我用的是mssql delphi7, 序号是一个int的栏位
編輯記錄
luowy651 重新編輯於 2009-07-26 09:54:55, 註解 無‧
luowy651 重新編輯於 2009-07-26 10:45:26, 註解 無‧
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-07-27 23:06:09 IP:61.67.xxx.xxx 未訂閱
要說的話"落落長", 所以不談, 只建議你放棄這種想法
到頭來會一點意義也沒有, 硬要做只會拖垮程式
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-07-28 06:03:43 IP:58.101.xxx.xxx 訂閱
谢谢P.D.大大的关注,请问一般情况下,写票据程式时,是否不应该有这个序号栏位?
那么,一般情况下,又是怎么做的呢?




===================引 用 P.D. 文 章===================
要說的話"落落長", 所以不談, 只建議你放棄這種想法
到頭來會一點意義也沒有, 硬要做只會拖垮程式
小傑克
資深會員


發表:5
回覆:209
積分:357
註冊:2009-02-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-07-30 18:52:43 IP:61.217.xxx.xxx 訂閱
雖然會慢,但還是可以做

既然你有實體欄位,就直接下sql update 就可以啊
例如刪除第三筆, 就update > 3 的 資料 set [field] := [field] - 1 , 然後 re-query
相反新增就 1
想做的更user friendly 就幫user 記住bookmark, 在幫user 移動curse 就好

****小心update查詢條件不要漏掉, 不要update 到整個table ****
------
額有朝天骨,眼中有靈光
編輯記錄
小傑克 重新編輯於 2009-07-30 18:54:13, 註解 無‧
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-07-30 21:17:25 IP:58.101.xxx.xxx 訂閱
谢谢小傑克大大,我明白了
再问一下,你举例子说比如删除第三笔,那么,既然被删除了,还能用bookmark吗?或者要用locate序号的方式来定位?
===================引 用 小傑克 文 章===================
雖然會慢,但還是可以做

既然你有實體欄位,就直接下sql update 就可以啊
例如刪除第三筆, 就update > 3 的 資料 set [field] := [field] - 1 , 然後 re-query
相反新增就 1
想做的更user friendly 就幫user 記住bookmark, 在幫user 移動curse 就好

****小心update查詢條件不要漏掉, 不要update 到整個table ****
小傑克
資深會員


發表:5
回覆:209
積分:357
註冊:2009-02-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-07-31 11:12:55 IP:61.217.xxx.xxx 訂閱
bookmark 就指向前一筆,或後一筆就可以阿
------
額有朝天骨,眼中有靈光
系統時間:2024-05-17 4:02:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!