物品管理系統資料操作邏輯分析 - 目録

探討物品管理系統中資料操作的設計與流程,釐清新增與更新邏輯背後的技術考量 ...

2025-03-24 02:51:38 | 113 reads

Website Rebuild & Patch Notes

After months of planning and development, I'm excited to share the fully rebuilt version of my website. This update marks a major shift in both design and architecture — moving away from the legacy ASP.NET Core 2.1 MVC framework to a modern .NET 8 Blazor Web App, combining both Blazor Server and WebAssembly. In this post, I’ll highlight the ...

2025-03-24 06:32:25 | 73 reads

GitBash放棄本地修改並強制拉取遠端更新

這樣你的本地倉庫就會完全以遠端倉庫為準,並且本地的變更將被捨棄。如果有未提交的修改,請務必先確認是否備份需要的改動 ...

2024-09-17 04:12:16 | 1k reads

[CONTENT] Learn JLPT N2 Grammar

[1] How to use "あげく"? "あげく"の例文 [2] Learn JLPT N2 Grammar: あまり(に)の例文 [3] Learn JLPT N2 Grammar: "以上"の例文 [4] What does "以上" mean? How to use "以上" correctly? [5] What's the difference between 一方で and 一方だ? How to use them? [6] Learn JLPT N2 Gra ...

2021-01-03 04:56:10 | 5k reads

Privacy Policy for ChronoDivide Player Checker

This privacy policy outlines how ChronoDivide Player Checker handles your information when you use our extension. We value your privacy and are committed to protecting the data you share with us ...

2025-06-14 17:31:44 | 11 reads

🧊讓 WinForms 的 DataGridView 在滾動時變得流暢:啟用 DoubleBuffered 技術

主題為「如何讓 WinForms DataGridView 在滾動時不再卡頓 —— 使用 DoubleBuffered 技術」。 WinForms 的 DataGridView 控制項雖然功能強大,但在面對大量資料、圖片或複雜格式時,滾動畫面經常會出現「卡頓」、「閃爍」的現象。這不僅影響使用者體驗,也讓介面顯得不夠專業。 幸好,透過啟用 DoubleBuffered,我們可以大幅改善這個問題,讓畫面滾動更加順暢 ...

2025-06-12 02:24:11 | 5 reads

【技術筆記】Npgsql 的 CommandTimeout 預設為 30 秒:大量資料查詢失敗的原因竟然是這個

最近在開發一個工具,從 PostgreSQL 匯出大量資料為 CSV。功能本身很單純,平時匯出幾百筆資料沒問題,但當資料筆數上升到幾萬筆時,程式卻開始失敗,並在中途中斷。 初期無法得知錯誤具體原因,只知道程式落入了 catch (Exception) 分支。經過一番調查與錯誤記錄強化,最終找到關鍵錯誤訊息 ...

2025-06-06 00:50:48 | 4 reads

因 DateTime.Now 而當機:EF Core 寫入 timestamptz 的致命陷阱

以下是一篇以部落格形式撰寫的技術分享,用來說明「為什麼用原生 SQL 傳入 DateTime.Now 不會出問題,但透過 Entity Framework Core(EF Core)卻會拋出 Kind=Local 到 timestamptz 的異常」,並給出三種解決方案。 EF Core 與原生 Npgsql 在 DateTime 映射上的差異 ...

2025-05-15 08:25:53 | 3 reads

WinForms 非同步必學:用 async/await 擺脫 UI 卡頓

背景 在按鈕事件中若直接執行同步 I/O(如 ToList())或耗時計算,會鎖死 UI,畫面無法拖曳、重繪,甚至被系統標示為「(無回應)」。 1. await 的核心作用 分段執行 遇到 await 時,方法會將後續程式拆成 callback,先把控制權還給 WinForms 的訊息迴圈。 保證順序 有 await,後續程式碼僅在被 await 的 Task 完成後才執行;若忽略 await,便可能「fire-and-forget」 ...

2025-05-15 07:01:39 | 2 reads

📊 用 ClosedXML 讀取三行合併表頭的 Excel 資料(含欄位名稱查找技巧)

​ 在處理 Excel 檔時,表頭不一定總是單行的。有些報表的表頭可能會長成這樣: | 資産情報 | 担当者 | | | 氏名 | 年齢 | | | 氏名 | 年齢 | 這樣的三行表頭、跨列合併,對程式來說根本就是「惡夢」。 你想做的事可能很簡單: 根據「欄位名稱」去讀取對應的資料列,比如 "担当者 > 氏名 > 年齢"。 但 ClosedXML 並不會自動幫你解析這種結構,我們要自己動手,把「表頭→欄位編號」的對照表建立出來 ​ ...

2025-05-08 11:04:25 | 5 reads

我在用 Npgsql 搭配 EF Core 遇到的超大陷阱:UseSnakeCaseNamingConvention() 根本不存在!

我在使用 Npgsql.EntityFrameworkCore.PostgreSQL 搭配 Entity Framework Core 開發 PostgreSQL 專案時,想讓 KobetuCd 這類 C# 屬性自動對應資料表中的 kobetu_cd 欄位。網路上許多文章提到 .UseSnakeCaseNamingConvention(),說加上就能解決命名不對應的問題。 結果我死命找都找不到 UseSnakeCaseNamingConvention(),查了半天才發現這個方法根本不屬於 Npgsql,而是來自另外一個社群套件 ...

2025-05-07 08:49:21 | 6 reads

🛠️ PostgreSQL Backup/Restore Tool 使用介紹

本工具是一套圖形化介面的 PostgreSQL 備份與還原工具,支援標準 SQL(Plain SQL)與自訂格式(Custom Format)的備份與還原作業,適用於資料庫管理員與開發人員日常維護作業 ...

2025-05-02 06:03:47 | 2 reads

.NET 8 WinForms 使用 PostgreSQL + LINQ 實例教學

​ 如果你正在啟用 .NET 8 WinForms 對 PostgreSQL 執行 LINQ 操作,這篇簡明教學就是為你擾備的。 ᵀ. 安裝 NuGet 套件 打開 NuGet 套件管理器,執行: dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL ᵁ. 建立 DbContext 新增 BKDbContext.cs ​ ...

2025-05-02 01:44:18 | 2 reads

物品管理系統資料操作邏輯分析 - 管理換(受)済

【操作說明:供用官執行「管理換(受)」承認】 🔍 條件篩選 從 kanrigae_tbl 中查找符合以下條件的記錄: shori_sts = 51(處理狀態為「受理中」) seiri_kbn = 151(整理區分為「管理換(受)」) r_kyouyoukan_cd = current_op_cd(所屬供用官為當前使用者) 從符合條件的記錄中選出 一筆 doc_cd 作為本次操作對象。 ⚠️ 注意事項 本次操作屬於 供用官承認處理。 以下為對應資料表的更新與插入操作 ...

2025-05-02 00:38:16 | 1 reads

物品管理系統資料操作邏輯分析 - 管理換(受)

管理換(受)資料更新流程(由管理官執行) 【查詢條件】 從 kanrigae_tbl 中,查找符合以下條件的記錄: shori_sts = 12 seiri_kbn = 151 r_kanrikan_cd = 當前操作員編號(current_op_cd) 自查詢結果中挑選一筆 doc_cd,作為此次「管理換(受)」的處理對象。 【更新內容】 🔹 表:kanrigae_tbl(共 4 項更新) 將 r_kanri_doc_no 更新為使用者輸入值 將 shori_sts 狀態由 12 更新為 51 將 upd_op_cd 設為當前操作員編號(current_op_cd) 將 upd_ymd 設為當前日期 ...

2025-05-02 00:08:37 | 4 reads

解釈違い是什麼意思?──來自日本ACGN文化的關鍵用語解析

在日本網路文化中,尤其是動漫、遊戲或同人圈中,你可能常常會看到這樣一句話: 「○○さんとは解釈違いなのでごめんなさい。」 或者: 「このカプ、好きだけど公式とはちょっと解釈違いかも。」 這裡的「解釈違い(かいしゃくちがい)」究竟是什麼意思?又為什麼這個詞會讓一些討論變得小心翼翼、甚至產生激烈爭論呢 ...

2025-04-29 12:19:26 | 13 reads

PostgreSQL 備份檔是否包含 CREATE SCHEMA?

在使用 pg_dump 進行資料庫備份時,常見疑問之一是: ➤ 備份出來的 SQL 是否包含 CREATE SCHEMA? ✅ 答案很簡單: 只要該 schema 不是預設的 public,pg_dump 就會自動包含 CREATE SCHEMA 語句 ...

2025-04-25 05:41:24 | 1 reads

在 .NET 8 Blazor Web App 中攔截所有內部導航並平滑捲動到頂端

在 .NET 8 的 Blazor Web App(Hybrid 模式)中,當你在文章內容裡大量使用原生 <a href="…"> 連結時,點擊後往往只會做「局部刷新」,導致頁面內容更新但瀏覽器捲軸位置依然停留在原地,使用者體驗大打折扣。本文將示範如何在宿主頁面(App.razor)中,注入一段小小的 JavaScript 補丁,攔截所有內部路由並統一「平滑捲動到頂端」 ...

2025-04-25 04:24:13 | 2 reads

修改上一個 Git Commit 並強制推送的簡單方法

有時候我們在 Git 中提交了一個 commit 之後,才發現小地方有個缺漏,或想將一個修改合併轉成紅線內部的 commit,這時就可以用下列三個 Git 命令來達到效果 ...

2025-04-25 01:39:14 | 2 reads

【日語慣用語解說】「胸を借りる」──謙遜地向高手挑戰

在日語當中,許多看似簡單的慣用語背後,其實都藏著豐富的歷史背景與文化涵義。「胸を借りる」就是其中非常典型的一句 ...

2025-04-22 14:09:33 | 17 reads

...