09

說明:

每當專案本機測試完成後,會發佈到測試環境上,此時測試Server上的專案,如果有Bug,根本不知道哪裡有錯,也無法在程式碼下斷點,此時就需要Log來記錄錯誤訊息了。

在此介紹簡易的log紀錄程式碼放在需要紀錄的程式裡,再次發佈到Server上,就可以記錄Bug了!

/*以純文字檔案紀錄Bug資訊*/

using System.IO;

Thisway 發表在 痞客邦 留言(2) 人氣()

問題:

使用Visual Studio寫C#,執行的時候出現error msg,如下,

An unhandled exception of type 'System.StackOverflowException' occurred in mscorlib.dll

意思為

未處理的'System.StackOverflowException'類型的異常出現在mscorlib.dll之中

Thisway 發表在 痞客邦 留言(0) 人氣()

說明:

使用TryParse()對字串轉型為int、decimal,並且有防呆功能,防止轉型錯誤。

//string轉decimal(外加防呆,不能轉型會進入error message)
string NumberA = "123.23";
decimal ChangeDecimal;

if (decimal.TryParse(NumberA, out ChangeDecimalOK) == true)
{
    ChangeDecimal = NumberA;
}
else
{
    //顯示error message
    return null;
}

InPut:
NumberA = "123.23"

Thisway 發表在 痞客邦 留言(0) 人氣()

06

說明:

使用FileStream來寫入csv文件。

注意!此為寫入csv文件,一率覆蓋當前寫入文件的所有資訊,如果當前文件資訊不希望被覆蓋,可事先讀取當前csv檔案並存入string,寫入時將存入的string寫入csv檔案中,再做修改。

如何讀取csv檔案,可參考:

【C#】《oleDB》如何讀取csv(逗號分隔值)的資料

Thisway 發表在 痞客邦 留言(0) 人氣()

07

說明:

使用oleDB讀取純文字檔Text的資料,首先一般利用存文字檔存取資料類似Excel的功能,會有區隔每隔資料與每列資料的規則。

通常我們區隔每隔資料會以Tab鍵區分之。區隔每列資料會以換行之。

例如:

我們使用oleDB讀取Text的資料,跟之前寫的另外兩篇文章的流程與Code類似,但因為csv、Text沒有工作表,相對來講Code比較簡潔。

Thisway 發表在 痞客邦 留言(1) 人氣()

06

說明:

csv:Comma-Separated Values,逗號分隔值。

規則為輸入資料,以英數逗號","當作分隔,並且換行時不加逗號,直接換行,最後存成副檔名.csv格式即可。

例如:

我們使用oleDB讀取csv的資料,跟之前寫的另外兩篇文章的流程與Code類似,但因為csv、Text沒有工作表,相對來講Code比較簡潔。

Thisway 發表在 痞客邦 留言(1) 人氣()

04

說明:

利用Microsoft.Office.Interop.Excel來寫入Excel檔案。

using System.IO;
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection;

//設定必要的物件
//按照順序分別是Application > Workbook > Worksheet > Range > Cell
//(1) Application :代表一個 Excel 程序。
//(2) WorkBook :代表一個 Excel 工作簿。
//(3) WorkSheet :代表一個 Excel 工作表,一個 WorkBook 包含好幾個工作表。
//(4) Range :代表 WorkSheet 中的多個單元格區域。
//(5) Cell :代表 WorkSheet 中的一個單元格。
Excel.Application App = new Excel.Application();

//取得欲寫入的檔案路徑
string strPath = "C:\\Test.xls";
Excel.Workbook Wbook = App.Workbooks.Open(strPath);

Thisway 發表在 痞客邦 留言(1) 人氣()

04

說明:

我們使用oleDB讀取Excel的資料,跟之前寫的另外兩篇文章的流程與Code類似,但因為csv、Text沒有工作表,相對來講Code比較簡潔。

【C#】《oleDB》如何讀取csv(逗號分隔值)的資料

 http://ww0o0ww.pixnet.net/blog/post/66205084

【C#】《oleDB》如何讀取純文字檔Text的資料

Thisway 發表在 痞客邦 留言(4) 人氣()

03

 說明:

我們來進行修改檔案的屬性為非唯讀、唯讀檔,如下圖,紅色部分為勾選唯讀或非唯讀檔案。

唯讀檔案通常不可被程式讀取、寫入,所以我們可以透過程式碼,將檔案屬性為唯讀改成非唯讀,以便程式對此檔案讀取、寫入。

首先設定檔案路徑。

C#的檔案讀取、寫入的路徑指定方式有兩種:

Thisway 發表在 痞客邦 留言(0) 人氣()

問題:

為什麼List 在add數次,總會被最後add的項目給覆蓋呢?

先來看看會被覆蓋的例子。

//要add的Model
public class ModelInfo
{
    public decimal FieldA { get; set; }
    public decimal FieldB { get; set; }
    public decimal FieldC { get; set; }
}

public class comply
{
    //new一個用List接的Model
    List<ModelInfo> ModelInfoList = new List<ModelInfo>();

Thisway 發表在 痞客邦 留言(1) 人氣()

說明:

來看看C#獲取時間到毫秒的方式(今天、昨天、明天、日期比大小)


/*獲取今天日期(只有日期)*/
DateTime GetNowDate = DateTime.Today;

Output:
2014/1/21 上午12:00:00

/*獲取昨天日期(只有日期)*/
DateTime GetYesterdayDate = DateTime.Today.AddDays(-1);

Thisway 發表在 痞客邦 留言(0) 人氣()

02

問題:

OleDB讀取Excel、csv時,某些有資料的欄位卻是空值!?
這是...OleDB的硬傷,先說明一下他的淺規則~


讀取的資料都有行列,每一行的前8格(預設),Excel會解析這8格裡面最多格的型態,並將此行預設為此符合此型態才給讀取,否則為空值。

來看看我們的例子:

Input:  

Thisway 發表在 痞客邦 留言(0) 人氣()

1
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。