Category: .net

跟傳統系統打交道時,XML、JSON等格式多半無用武之地,往往得透過"固定欄寬資料格式"進行資料交換。 在撰寫程式解析固定欄寬資料時,有幾點注意事項: 欄位寬度計算與中文編碼有關,實務上使用BIG5編碼還是大宗(阿公級系統很少能支援Unicode)。 BIG...

同事今天問了個有趣的問題: using System;   namespace ConsoleApplication1 { class Program { ...

嫌棄使用OracleCommand批次更新大量資料效能不佳,爬文找到ODP.NET有個OracleBulkCopy類別支援將整個ADO.NET DataTable一次送至資料庫更新(與SQL 2008的Table Value Parameter有異曲同工之妙),於是做了Lab測試效果。 在Or...

前陣子開發系統時,常在抓OracleCommand的執行期錯誤,有時是SQL語法寫錯,有時是參數數目不符,有時則是參數值給錯... (列原因寫到自己都汗顏,寫程式明明就要心思細膩,我的心思... 應該粗如電線桿吧?) 雖然VS2010在偵錯階段提供了很強的物件檢視功能,能逐一檢視物件的每個屬性...

在寫類似Code Generator的功能,遇到一個抉擇點: 若要將DataRow的各欄位逐一映對到資料物件的各欄位上,該使用Reflection還是Hard-Coding? 使用Reflection方式(PropertyInfo)讀寫物件屬性可大幅簡化程式碼複雜度,但需付出效能上的...

專案裡遇到的特殊需求,有個欄位在程式內部採用Unicode編碼,但要匯出給某個系統接收時,中介資料表卻制定了採Big5編碼的VARCHAR(50)格式,這意味著: 1) Big5編碼的中文字元相當於VARCHAR(2),長度限制應為25個Unicode中文字元 2) 包含Unicode...

很久前曾寫過一篇範例,介紹將數字金額依不同權重拆成多筆的分贓程式寫法,最近專案又再度陷入算錢的漩渦,但局面有點改變。近一兩年被.NET 3.5/.NET 4寵壞了,已經有點"不用LINQ不會寫Code"的傾向,因此現在寫的帳務程式,就大量引用了List<SomeObject>的技巧處...

在ASP.NET MVC 3 豬走路範例(2)裡介紹過ASP.NET MVC可以識別Model屬性(Property)上的DataAnnotation ValidationAttribute,例如: [Required][Range(…)],自動在表單輸入介面加上檢核函數,更新資料時也可用同一邏...

切入主題前,先感謝網友小言在留言中分享了SQL 2008 TVP(Table Value Parameter,資料表值參數),一個我差點錯過的好物。 過去遇到要從程式端塞大量資料到資料庫的場合,我慣用的伎倆手法不外乎產生INSERT Script與BULK INSERT這兩招,坦白說都挺麻煩的...

工作上有些場合需要將變更資料庫的過程以Script方式保存,方便交給其他人執行。 有不少工具可以協助從現有資料庫轉出INSERT Script,例如: SQL Dumper、 Database Publish Wizard、Toad... 都辦得到。不過剛好有個小需求是希望直接由.NET組成資...

這篇主要是寫給自己備忘的,以下為使用NPOI讀取表格Excel檔,自動轉成DataTable的簡單範例: (NPOI是什麼? 可參考舊文) using System.Data; using System.IO; using NPOI.HSSF.Use...