2020年2月6日 星期四

[C#] 英文轉數字

一般的英文轉數字

int a = (int)"A";


用於Excel將英文欄位轉換成對應的數值

      private int Column(string str)
        {
            char[] arr = str.ToCharArray();
            int column = 0;

            if (arr.Length == 1)
            {
                column = (int)arr[0] - 65 + 1;
            }
            else if (arr.Length == 2)
            {
                column = ((int)arr[0] - 65 + 1) * 26 + (int)arr[1] - 65 + 1;
            }
           
            return column;
        }

2019年4月10日 星期三

[ASP.NET] SqlBulkCopy (大量 INSERT 資料)

最近接觸到需要大量寫入資料的需求,
想起以前有碰過 SqlBulkCopy 這玩意,
它寫起來簡單且效率奇高,認真的推薦給大家~

WriteToServer() 允許使用 DataRow[]、DataTable、IDataReader、DbDataReader 做為資料來源。下面例子是使用 DataTable 匯入,需要注意的點是匯入匯出的資料表欄位名稱與資料型態都要一致。


2019年4月9日 星期二

[SQL] ROUND() 四捨五入

使用ROUND()的時候如果資料型態不是decimal或numeric的話,
會跑出像是四捨六入的結果

所以在使用ROUND()時,
還是將數值轉型會比較安全

例:
SELECT ROUND(CAST(欄位1 AS decimal(10,3)),2) FROM 資料表A

參考資料: TechNet

[Windows Form] 即時更新TextBox內容

最近開始寫Windows Form,記錄一下關於這個問題找到的網站
http://www.zakfong.com/2012/03/c-textbox.html

[SQL] UPDATE JOIN

有時候會遇到要UPDATE的資料表識別欄位不足的問題
需要JOIN別張表才能順利辨別出要更新的是那些欄位
(嘛...大概就是你要更新所有姓陳的男生資料,結果性別欄在別張表這種感覺)

這時候就很需要用JOIN把需要的欄位抓進來判別
SO,請參考下方語法 ~

2019年4月8日 星期一

[SQL] Random 亂數

一般的亂數在直接使用RAND()時容易出現一整片都是同個亂數的問題,
像這次我需要每列資料、甚至每欄資料要產生不同參數時,
就需要用NEWID()當作SEED,傳入RAND()中產生不同亂數。

以下為程式演練,可以參考看看!

2019年4月2日 星期二

[LINQ] 判斷集合是否為空

在一般狀況下,我會用Count()是否為零來判斷
但假如有使用yield的話,效能似乎有點問題

所以找到了這個方法
Any()

[Excel] 日期(數值)轉文字

Excel的日期格式真的常常使人抓狂, 在使用者輸入日期後該欄位真正的值會被Excel轉換成一串數字, 這串數字代表著自1900/1/1到該日期的總天數。 但程式或使用者真正要的,就不是這串數字, 他們就是要日期!要日期!! So, 為了取得真正的值只好使用TEXT函數來解決了 ...