台灣最大程式設計社群網站
線上人數
1668
 
會員總數:242762
討論主題:187731
歡迎您免費加入會員
討論區列表 >> C# >> insert資料時,若資料存在,如何取得相關錯誤訊息? 則可以判斷是否update此筆資料?
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
insert資料時,若資料存在,如何取得相關錯誤訊息? 則可以判斷是否update此筆資料?
價值 : 40 QP  點閱數:165 回應數:3

樓主

阿山
初學者
316 22
862 129
發送站內信

各位前輩好

我原本的SQL語法,如下:

但發現我的資料來源,應該說是無key值,可能每個欄位都需比對是否有重複。然而,查看之前PB所寫的程式,有SQLCA.SQLCODE < 0 這個語法可以判斷是要執行insert還是update,查詢C#有SQLException在處理這部分,但不知道怎麼使用,可以教我嗎? 感激不盡!

搜尋相關Tags的文章: [ insert ] , [ update ] , [ SQLException ] ,
本篇文章發表於2018-06-27 18:44
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

小魚
檢舉此回應
方法1,分兩次作,
第一次Select,C#判斷有沒有抓到資料,
有就Update,沒有就Insert,

方法2,
在 SQL Server 中可以這樣處理:


本篇文章回覆於2018-06-27 20:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

春天
檢舉此回應
MySql有 Replace into可以用,SQL Server則要用其它方法,可以參考網址
REPLACE INTO
本篇文章回覆於2018-06-28 09:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

小魚
檢舉此回應
Replace Into 只能根據 主鍵跟唯一鍵 來取代吧,
最近要做比較複雜的判斷,
還是乖乖地用了第一種方法...
本篇文章回覆於2018-06-30 09:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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