台灣最大程式設計社群網站
線上人數
762
 
會員總數:242468
討論主題:187511
歡迎您免費加入會員
討論區列表 >> C# >> PRIMARY KEY 條件約束
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
PRIMARY KEY 條件約束
價值 : 60 QP  點閱數:116 回應數:5

樓主

Sanji
門外漢
0 32
451 70
發送站內信

各位大大好 小弟目前碰到一個問題
就是目前小弟有在管理一個船隻的售票網站
但最近要新增船隻的時刻表時
突然報出了下列的錯誤
-----------------------------------------------------------------------------------------------------
違反 PRIMARY KEY 條件約束 'PK_reserve_place'。無法在物件 'dbo.reserve_place' 中插入重複的索引鍵。
EXECUTE 之後的交易計數顯示 BEGIN 和 COMMIT 陳述式數目不相符。前次計數 = 1,目前的計數 = 0。
ROLLBACK TRANSACTION 要求沒有對應的 BEGIN TRANSACTION。
陳述式已經結束。
-----------------------------------------------------------------------------------------------------
行 872: {
行 873: BoatTimetableInfo boatTime = FillBoatTimetableInfo();
行 874: sstring errorMsg = TimetableBLL.AddBoatTimetable(boatTime, ComID, Globals.ConnectionString);
行 875:
行 876: if (errorMsg != "")
-----------------------------------------------------------------------------------------------------
可是紅色那一行的函式完全沒有使用到reserve_place這個資料表
我不懂為什麼報出來的重覆Primary Key 會報在這個資料表

還有這感覺是兩個問題,請問大大們該如何分別解決




搜尋相關Tags的文章: [ C# ] , [ ASP ] ,
本篇文章發表於2018-05-05 13:10
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

小魚
檢舉此回應
1.這個函式裡面有用到嗎?
TimetableBLL.AddBoatTimetable(boatTime, ComID, Globals.ConnectionString);

2.TRANSACTION交易的部分要從相關的程式碼才看得出來.
本篇文章回覆於2018-05-06 06:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Sanji
檢舉此回應
小魚大大

1. TimetableBLL.AddBoatTimetable(boatTime, ComID, Globals.ConnectionString) 有用到
程式碼如下:


而 TimetableDataProvider.AddBoatTimetable 程式碼較長(而且是使用預存程序來做(所以我只截取部分的欄位)

可是這些完全沒用到 dbo.reserve_place的資料表

2.
是關於哪裡的程式碼呢?
我找不太到相關的
本篇文章回覆於2018-05-06 22:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

Sanji
檢舉此回應
小魚大大
我翻了一下預存程序
我想說不定是存在裡面


本篇文章回覆於2018-05-06 22:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Sanji
檢舉此回應
我找到問題並修正了
感謝小魚大大
本篇文章回覆於2018-05-06 23:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

小魚
檢舉此回應
程式會出問題一定是有原因的,
一層一層找總會找到的。
本篇文章回覆於2018-05-11 00:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.