| | | 1 | | 12,127 |
跟傳統系統打交道時,XML、JSON等格式多半無用武之地,往往得透過"固定欄寬資料格式"進行資料交換。 在撰寫程式解析固定欄寬資料時,有幾點注意事項: 欄位寬度計算與中文編碼有關,實務上使用BIG5編碼還是大宗(阿公級系統很少能支援Unicode)。 BIG...
| | | 0 | | 15,568 |
有一段小時候寫的程式,運行多年無恙,卻在今天發生爆炸! 看似正常的更新Dictationary邏輯,卻在Dictoinary.Add時冒出"Index was outside the bounds of the array."錯誤: if (Cache.ContainsKey(key)) ...
| | | 0 | | 6,256 |
[Abstract] Sample code for converting "\/Date(1270051200000)\/" JSON format to .NET DateTime structure, it is used to convert log files wit...
| | | 0 | | 17,179 |
同事報案,運作多時的FTP排程忽然故障,由Log來看,問題發生在FtpWebRequest在上傳及下載資料時,持續產生"The underlying connection was closed: An unexpected error occurred on a receive.&quo...
| | | 2 | | 17,001 |
同事今天問了個有趣的問題: using System; namespace ConsoleApplication1 { class Program { ...
| | | 3 | | 29,796 |
嫌棄使用OracleCommand批次更新大量資料效能不佳,爬文找到ODP.NET有個OracleBulkCopy類別支援將整個ADO.NET DataTable一次送至資料庫更新(與SQL 2008的Table Value Parameter有異曲同工之妙),於是做了Lab測試效果。 在Or...
| | | 1 | | 24,693 |
遇過兩三次的問題,今天正式找到明確原因,寫成筆記備忘兼分享。 問題發生情境通常為: 使用VS2010開發程式庫(Class Library)專案,為了測試另外加入主控台(Console Application)專案到Solution中,參考該程式庫專案並在Program.cs中寫幾行程式建立類...
| | | 5 | | 12,662 |
前陣子開發系統時,常在抓OracleCommand的執行期錯誤,有時是SQL語法寫錯,有時是參數數目不符,有時則是參數值給錯... (列原因寫到自己都汗顏,寫程式明明就要心思細膩,我的心思... 應該粗如電線桿吧?) 雖然VS2010在偵錯階段提供了很強的物件檢視功能,能逐一檢視物件的每個屬性...
| | | 4 | | 17,227 |
在寫類似Code Generator的功能,遇到一個抉擇點: 若要將DataRow的各欄位逐一映對到資料物件的各欄位上,該使用Reflection還是Hard-Coding? 使用Reflection方式(PropertyInfo)讀寫物件屬性可大幅簡化程式碼複雜度,但需付出效能上的...
| | | 3 | | 16,663 |
專案裡遇到的特殊需求,有個欄位在程式內部採用Unicode編碼,但要匯出給某個系統接收時,中介資料表卻制定了採Big5編碼的VARCHAR(50)格式,這意味著: 1) Big5編碼的中文字元相當於VARCHAR(2),長度限制應為25個Unicode中文字元 2) 包含Unicode...
| | | 1 | | 12,600 |
很久前曾寫過一篇範例,介紹將數字金額依不同權重拆成多筆的分贓程式寫法,最近專案又再度陷入算錢的漩渦,但局面有點改變。近一兩年被.NET 3.5/.NET 4寵壞了,已經有點"不用LINQ不會寫Code"的傾向,因此現在寫的帳務程式,就大量引用了List<SomeObject>的技巧處...
| | | 0 | | 8,682 |
一段使用很久的程式今天忽然出錯,追查原因,是一段古早寫的FOR XML查詢出了問題。 程式用SqlCommand執行"SELECT ... FROM ... FOR XML RAW('Boo’)”,最近因資料異動,結果傳回超長的字串,透過SqlDataReader讀取時,只得到最前端...
| | | 3 | | 12,145 |
在ASP.NET MVC 3 豬走路範例(2)裡介紹過ASP.NET MVC可以識別Model屬性(Property)上的DataAnnotation ValidationAttribute,例如: [Required][Range(…)],自動在表單輸入介面加上檢核函數,更新資料時也可用同一邏...
| | | 11 | | 28,159 |
切入主題前,先感謝網友小言在留言中分享了SQL 2008 TVP(Table Value Parameter,資料表值參數),一個我差點錯過的好物。 過去遇到要從程式端塞大量資料到資料庫的場合,我慣用的伎倆手法不外乎產生INSERT Script與BULK INSERT這兩招,坦白說都挺麻煩的...
| | | 6 | | 11,282 |
工作上有些場合需要將變更資料庫的過程以Script方式保存,方便交給其他人執行。 有不少工具可以協助從現有資料庫轉出INSERT Script,例如: SQL Dumper、 Database Publish Wizard、Toad... 都辦得到。不過剛好有個小需求是希望直接由.NET組成資...
| | | 30 | | 93,568 |
這篇主要是寫給自己備忘的,以下為使用NPOI讀取表格Excel檔,自動轉成DataTable的簡單範例: (NPOI是什麼? 可參考舊文) using System.Data; using System.IO; using NPOI.HSSF.Use...