[自動編號] 要如何實現一口氣寫入時才產生自動編號呢? |
尚未結案
|
uuujjj
一般會員 ![]() ![]() 發表:31 回覆:59 積分:18 註冊:2002-09-28 發送簡訊給我 |
各位前輩大家好,在下遇到了一些問題…
也查過板中各類相似題型…
但,仍有些未能解決我困惱的問題… 先說明一下我的環境:
WinXP、Delphi5、Oracel
function TARCMSVX1p.f_RowNum(Num:String) :String; begin if (a = 0 ) then begin a:=StrToInt(Num); end; a:=a 1; Result:=IntToStr(a); end;如果這是在一台電腦中執行的話,是可行的… 因為,在資料尚未寫入資料庫中,這些所抓的最大值都是正確的… 最大值只能抓到儲存後的最後一筆!!! 但,我發覺,user不可能每key一筆就按一次儲存!! 而且key了幾筆後,才會按下儲存… (此時,前台序號可能已累績到30了,但資料庫的序號才用到5而已) 並且,考慮到公司不止只有一台電腦… 如果,有二台電腦同時建檔,那就完蛋了!!!! 因為,抓到的最大值可能是同一筆… 第二個,使用Sequences,發覺也有問題… 因為,如果user在key完資料後,發覺這些資料又不需要了… 而按下「取消」…那…這些seq就浪費掉了…< > 不曉得,上述的問題是否前輩們能瞭解…< > 是否有最好的方式能改善呢? 因為取得最大值的程式,我是寫在QueryBeforePost底下… 但,資料庫序號都尚未更新,即使取得最大值,仍是不準確的,更何況還要累加1 (form_no 唯一值:1、2、3、4、....99999)… 一直困惑在這裡…希望前輩們能給予指點解惑…謝謝… |
uuujjj
一般會員 ![]() ![]() 發表:31 回覆:59 積分:18 註冊:2002-09-28 發送簡訊給我 |
|
cxh17895
初階會員 ![]() ![]() 發表:13 回覆:37 積分:25 註冊:2003-03-19 發送簡訊給我 |
|
uuujjj
一般會員 ![]() ![]() 發表:31 回覆:59 積分:18 註冊:2002-09-28 發送簡訊給我 |
|
change.jian
版主 ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
|
chihsingchu
一般會員 ![]() ![]() 發表:0 回覆:1 積分:0 註冊:2002-03-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |