我正在用java開發計費軟件。在我的應用程序中,用戶打開創建發票的窗口。在多臺計算機上處理髮票號碼
當窗口打開時它去抓取的MaxID
和返回從INVOICE
表long
MaxID+1
並將其顯示在一個Jlabel
。現在當用戶每次開始記帳時,發票號碼將是MaxID+1
。該系統在單用戶應用程序中運行良好。
但是,當這個應用程序運行在多臺計算機上會發生很大的問題。當兩個用戶,例如userOne
和userTwo
同時打開同一個窗口時,他們將獲得相同的MaxID+1
。結果他們兩人將在相同的發票號碼中輸入數據。我該如何解決這個問題?
請幫忙。
也有沒有任何理由你沒有使用數據庫本身的自動增量列? – 2013-02-22 12:16:32
自動增量在這裏不起作用,因爲MaxID + 1對於多行是相同的。這是發票ID。一張發票可以有多個項目。 – 2013-02-22 14:04:54