[C#] 初探 iBoxDB 關於 Transaction 的操作測試
上一篇文章( 初探 iBoxDB 建立資料,列出所有 Tables ,查詢資料 )簡單的說說了 iBoxDB 的一些操作
不過關於資料庫怎麼可能不去測試關於 transaction 的部分,今天就接續上篇文章 我們來測試一下修改一筆 Id 為 DONMA-ID-4 的資料
透過 throw exception 模擬如果操作失敗時候會怎樣
可能因為版本的關係,我再找關於相關資料的時候寫法都有些出入,我參考過的網址我都會留下面
如果我寫的不清楚可能就直接可以找下面的連結
之前按理在 USER2 這張 TABLE 中有一筆 Id (key) 的資料叫做 DONMA-ID-4 ,這時候我要將他的 Name 加上時間戳,之後 throw exception 模擬出事情
在 try catch 之後,我再去資料庫找出那筆資料,理論上是不能被更動
Result:
=============================== TRANSATION ===============================
== 尚未執行commit 的 DONMA-ID-4 ==
{"Birth":"2022-11-16T14:16:49.3717204+08:00","Id":"DONMA-ID-4","Name":"許當麻--修改後資料:2022/11/16 下午 02:16:49","Salary":111.11}
== 再次檢查 DONMA-ID-4 ==
{"Id":"DONMA-ID-4","Name":"許當麻--修改後資料:2022/11/16 下午 02:04:12 ","Birth":"2022-11-16T14:04:12.9749274+08:00","Salary":111.11,"Friends":null}
不一樣的地方我標住起來了,因為沒有 commit 所以原始資料是沒有被變動的
大概就是測試到這邊,之後有研究到啥心得我在繼續筆記
參考文獻:
https://z.itpub.net/article/detail/25E0BA7DA60324041EC35C58CFD7C95C
https://www.bookstack.cn/read/iBoxDB/143003
https://blog.51cto.com/u_15162069/2760340
https://www.cxyzjd.com/article/lile1234_show/78771292
https://github.com/iboxdb/iboxdb.github.io