全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3455
推到 Plurk!
推到 Facebook!

流水編號

 
btocx
一般會員


發表:1
回覆:0
積分:0
註冊:2002-06-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-06-04 12:13:43 IP:210.243.xxx.xxx 未訂閱
如果我想在新增時自動產生流水編號,那要怎麼寫? ex:自動產生E001的id 
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-06-04 13:59:58 IP:61.231.xxx.xxx 未訂閱
引言: 如果我想在新增時自動產生流水編號,那要怎麼寫? ex:自動產生E001的id
利用 Paradox .db 的資料庫格式,可以定一個 Autoincrement/AUTOINC 的欄位,每加入一筆資料到資料庫中,該欄位會自動累加1 如果您要的是 E001 這樣的 ID ,可以由此欄位的數值再作處理。 再不然,就得全部自行處理了。
------
http://www.ViewMove.com
cbrskimo
一般會員


發表:9
回覆:14
積分:4
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-06-07 09:25:28 IP:211.21.xxx.xxx 未訂閱
引言:
引言: 如果我想在新增時自動產生流水編號,那要怎麼寫? ex:自動產生E001的id
利用 Paradox .db 的資料庫格式,可以定一個 Autoincrement/AUTOINC 的欄位,每加入一筆資料到資料庫中,該欄位會自動累加1 如果您要的是 E001 這樣的 ID ,可以由此欄位的數值再作處理。 再不然,就得全部自行處理了。
如果是 oracle 如何做?
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-06-07 09:54:20 IP:192.168.xxx.xxx 未訂閱
引言: 如果是 oracle 如何做?
Oracle的話,可以用TTable並將Exclusive:=true 這樣就同一時間只有一個Client端可以打開此Table 但此法不適用MS-SQL ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
ccl
一般會員


發表:2
回覆:12
積分:2
註冊:2002-03-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-06-13 00:01:07 IP:61.145.xxx.xxx 未訂閱
oracle 可以使用序列產生器 sequence 它可以產生唯一序號 方法如下 create sequence seq_doc_id start with 1; 使用 select to_char(seq_doc_id.nextval) from dual;
Dot.com
一般會員


發表:19
回覆:18
積分:7
註冊:2003-07-03

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-02-15 15:49:30 IP:61.143.xxx.xxx 未訂閱
用 sequence 会出现跳号现像!
cxh17895
初階會員


發表:13
回覆:37
積分:25
註冊:2003-03-19

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-02-16 11:46:41 IP:210.68.xxx.xxx 未訂閱
引言: 如果我想在新增時自動產生流水編號,那要怎麼寫? ex:自動產生E001的id
你好! 在自動產生流水(唯一)號機制中,有的提供並不是很好! 提供後學平常在開發中常用過程(語法方面,請大大自行研究) 1,準備一個記號檔 2,在處理程序中,立即取出此號(請注意,此時尚未回寫),若是確定,立即回寫 放棄,不填,則無任何動作, 但多人情況下,會有取出衝號問題,在回寫同時,確認此一號碼無人佔用,立即動作!或是寫成一函數專責處理,會更好!
SKYSTAR
中階會員


發表:76
回覆:198
積分:64
註冊:2002-06-10

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-02-16 12:04:52 IP:203.73.xxx.xxx 未訂閱
各位大大好: 看到這一個主題, 可否順便請教一下: 我們知道流水號是一個連續的編號, 且一般來說是主鍵值... 可是在實際流程中, 這一個流水號所代表的這一筆記錄, 是否允許刪除呢? 比如說流水號已經到了A1500.... 然後USER此時才發現A1400的記錄是錯誤的, 請問各位大大的設計方式是 (1)允許USER將A1400這一筆記錄給刪除掉! (2)不允許刪除, 而是在某一個地方給記錄成: 作廢 (3)其它.... 請問您們會用何種方式? 又不同的方式會影響到何種結果呢? 那一種又比較好 呢? 謝謝!!
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-02-16 14:04:25 IP:210.65.xxx.xxx 未訂閱
Hi:    Oracle 的 Sequence 當你下了 select seq_doc_id.nextval from dual; 指令時,該 Sequence 即自動累加 1,因此若該筆資料 user Cancel 掉了,即會產生問題,解決方式為存檔時再去取得序號,並不允許資料被刪除,而改用類似作廢功能    如同 SKYSTAR 所言,一般該 ID 值會被用來當為該 Table 之 Primary Key,是否允許刪除,我想應該有幾個應該考慮的地方 1.資料不允許跳號:如發票號碼,部分上櫃上市公司,會不允許訂單跳號 2.是否已有明細資料:如客戶、料號已有交易紀錄,應不允許刪除 3.有其它考量,而不允許刪除者 除此之外,若為交易資料,應該沒有太大問題 ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
jch
中階會員


發表:111
回覆:224
積分:66
註冊:2003-12-01

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-02-22 20:15:04 IP:61.70.xxx.xxx 未訂閱
小弟的作法是在資料庫中開一個紀錄各個表單的TABLE來存放各個流水號,並把存取編號的動作寫成一個FUNCTION,讓使用者存檔時再產生一組編號,當然如上所言,單據是不能刪除的,所以只能再增加一個作廢的功能喔!!參考看看!! ======================== 我是DELPHI的初學者
系統時間:2024-05-17 20:01:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!