微軟為了讓所有人將應用程式能夠完善的在 Windows 平台執行,現在連 PHP 都積極的支持,除了前陣子微軟推出的 Microsoft FastCGI Extension for IIS 6.0 能夠更有效率、更穩定在 Windows 平台執行 PHP 程式之外,上個月底也推出了 SQL Server 2005 Driver for PHP 套件,微軟這次不只提供套件,還提供完整的原始碼供所有人下載並可自行修改、編譯。
... 繼續閱讀 ...
因為常常需要跟國外 Blogger 交流,甚至回報某些國外 .Net 產品的 Bug 給他們,所以常常都要自行翻譯「例外訊息」( Exception Message ),不過有時後真的會翻錯。再者,若在開發 .Net 時遇到一些很少見的問題,用中文搜尋不到時,可能會想將訊息翻成英文後再搜尋一次,不過也有可能因為翻譯錯誤導致搜尋結果不夠精準。所以若能夠在除錯的時候輸出英文版的例外訊息,那該有多好阿!
... 繼續閱讀 ...
我之前其實也常遇到 "Windows桌面開太多東西就怪怪的" 的問題,仔細算了一下原來我的視窗已經開超過 30 個,30 個是有點扯,不過當時還在 IE 6 的時代,還沒有支援頁籤(Tab)功能,像我寫 Code 的時候都會開許多網頁查詢文件或測試,大腦的 Multithread 如火如荼的進行中,且在做 context switch (Alt+Tab) 時也很快,所以都不捨得關視窗,但就是常會遇到視窗怪怪的問題,一般的解法通常都是「重開機」或「登出然後重新登入」來解決這個問題。不過因為「有經驗」了,後來我自己也養成習慣不要一直開啟著一堆視窗不關閉,所以慢慢的也很少遇到這個問題了。
... 繼續閱讀 ...
如果你用 LINQ to SQL 開發系統的話,若兩個關連的表格需要更新資料,但需要更新的資料是 Foreign Key 的值的話,就有些地方需要特別注意,由於透過 LINQ to SQL 讀取或寫入資料都是透過 ORM ( Object-relational mapping ) 的方式儲存,讓原本在資料庫中的資料改以物件的方式表達,因此對這種包含關連的物件,就不能像用 T-SQL 的方式一樣改變關連的鍵值。
... 繼續閱讀 ...
之前因為有個案子要做 Excel 匯入的功能,需要讓客戶先下載匯入檔案範本,然後讓客戶上傳 Excel 檔 ( *.xls ),再透過 C# 讀取資料後存入資料庫,我是採用 OleDb 的方式在 Server 端開啟檔案並將資料讀出,不過卻遇到了幾個難解的問題,其中最討厭的問題就是透過 OleDb 載入資料時,它都會自動判斷 Excel 中每個欄位的型別,假設工作表中的第三欄的前 8 列的值是「數字」,而第 9 列的「文字」的話,當讀取到第 3 欄第 9 列的時候,該儲存格的欄位值就會是 Null,可能會引發程式執行錯誤(因為你會預期有資料)。
... 繼續閱讀 ...
之前寫過一個【在檔案總管直接啟動 ASP.NET 開發伺服器】的文章,當時是以 Visual Studio 2005 的環境寫的,到了 Visual Studio 2008 又推出新版的 ASP.NET 開發伺服器,所以另寫一篇文章更新不一樣的註冊檔(Registry File)。
... 繼續閱讀 ...
之前我曾經寫過一篇【解決 LINQ to SQL 資料庫更新衝突的情形】,主要是講解在寫 LINQ to SQL 程式的時候(Code Behind)若發生衝突的解決辦法,但我最近遇到的問題是,當我的頁面用的是 DetailsView + LinqDataSource 且完全是用宣告(Declarative)的方式寫成的,也就是改頁並沒有寫任何程式碼,這時發生了衝突的狀況的錯誤訊息是 Row not found or changed (如下圖示),不過卻完全看不出哪裡錯了,只知道新增資料的時候不會出錯,但每次更新或刪除的時候都會出錯,而從堆疊追蹤(Stack Trace)所顯示的訊息來看,也沒地方讓我修改,遇到這種問題先不要驚慌,因為這應該只能用我文章中說明的第三種方法進行設定了。
... 繼續閱讀 ...
像我們公司的 Subversion Repository 是安裝在 Windows 平台,照理說對於目錄名稱的大小寫應該不會有差別,但如果你這樣想的話那就錯了,雖然你可以正確的簽出(Checkout)專案,不過在簽入(Commit)的時候就會發生以下錯誤。
... 繼續閱讀 ...
我最近發現就算我的 ASP.NET 頁面是用 UTF-8 編碼(包含BOM字元)、或在頁面中設定 ResponseEncoding 為 UTF-8 編碼,最後輸出到瀏覽器的文件都一定不會有 BOM ( Byte-order mark ) 字元,這就很有可能造成 Browser 誤判網頁的編碼,我特別強調是「可能」會誤判而已,在我實際的工作經驗裡,瀏覽器在讀取沒有 BOM 字元的 UTF-8 網頁都沒出問題過,不過當我們選取【檢視 -> 原始檔】的時候,網頁內容被預設編輯器開啟的時候,編輯器就真的「很有可能」會誤判了,像我同事的 Notepad++ 在開啟網頁原始檔時,就幾乎全部變亂碼必須要手動切換到「編譯成 UTF-8 碼」才會變正常。(奇怪的是這些事總不會在我的電腦發生,不知道是不是我的電腦吃了我太多的口水所致)
... 繼續閱讀 ...