[C#] 初探 iBoxDB 關於 Transaction 的操作測試

2022-11-16

上一篇文章( 初探 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

https://iboxdb.github.io/


當麻許的超技八 2014 | Donma Hsu Design.