- 最後登錄
- 2023-5-8
- 在線時間
- 7 小時
- 註冊時間
- 2011-12-1
- 閱讀權限
- 20
- 精華
- 0
- UID
- 10604124
- 帖子
- 294
- 積分
- 47 點
- 潛水值
- 16940 米
| 所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。 本帖最後由 ggnnyy 於 2017-10-12 10:25 AM 編輯
各位大大好:
最近在研究訂單系統的取號機制,在多人使用的環境下訂單編號能夠不被重複取用...
上網有搜尋到許多方法,但有人提到用如下方法,我查了一下lock的鎖定好像是針對程式碼區塊的鎖定,
所以訂單系統如果是網站型態的應該是可以鎖定,但是如果是winform的型態呢? 這樣lock能達到鎖定不讓多個使用者存取到一樣的單號嗎?- private void LockInsert(object i)
- {
- lock (thisLock)
- {
- using (SqlConnection myConnection = new SqlConnection(SqlDataSource1.ConnectionString))
- {
- SqlCommand myCommand = new SqlCommand();
- myCommand.Connection = myConnection;
- myCommand.CommandText = "Insert Product (ProNo,ProName) values (@ProNo,@ProName)";
- myCommand.Parameters.AddWithValue("@ProNo", GetProductSerialNumber());
- myCommand.Parameters.AddWithValue("@ProName", "Product_" + i);
- myConnection.Open();
- myCommand.ExecuteNonQuery();
- }
- }
- }
複製代碼 ... |
|