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()

2019年4月1日 星期一

[Visual Studio] 套用環境配色設定 (studio styles)

換新電腦後原本開發環境的配色設定也遺失了,
雖然用預設的白底配色開發也沒啥不好,
但總覺得有點傷眼睛。

於是就找到了這個網站

https://studiostyl.es/

可以直接下載設定檔,
真的是懶人福音啊 ~

[LINQ] OrderBy / ThenBy (Desc)

LINQ排序我覺得還挺直覺的,
使用LINQ Query Expression時寫法跟SQL查詢語法並沒有太大的出入,
只是在使用Lambda時要先選好要用的排序方式就是了!
(但我還是常常忘記要先選好XD)

2019年3月29日 星期五

[SQL] UPDATE FROM (使用別的表格或欄位更新資料)

總是會遇到需要將別的欄位或別的表格的資料更新到其他表的時候,
這時候你就會需要 UPDATE FROM

[ASP.NET] Excel 日期格式 / 數字轉日期

EXCEL的日期真的是很 討人厭 神奇的格式
看起來是文字,但用程式去抓或將儲存格格式設為文字就會看到一串數字
那個數字是自 1988/12/30 至指定日期的天數或天數+時間
然後好死不死你就直接用日期格式去轉,就會報錯。

一開始我是用 1988/12/30 去加那串數字,
但其實有更簡潔的方式!


2019年3月20日 星期三

[ASP.NET] 參數數目不符 / 伺服器要求逾時錯誤

最近執行以前寫過的程式,發現出現以下錯誤,
或許是資料量變大,所以出錯了吧@@...


先跳出的這個警告好誤導人啊...

逾時才是主因!

2019年3月14日 星期四

[VS 2008] 顯示行號

最近換電腦,重裝VS 2008。
DeBug的時候熊熊發現沒有顯示行號,心中的崩潰真的是萬馬奔騰啊...
兩三千行的程式總不可能自己算吧!!(想太多)

總之記錄一下行號在哪裡開
在 工具(T) >  選項(O) > 文字編輯器 > 你常用的語言 > 編輯器 > 互動區塊
把行號勾選起來就完成了!


我好需要你!!

阿彌陀佛,行號終於顯示出來了(泣)...

[LINQ] UNION(聯集)/ INTERSECT(交集)/ EXCEPT(差集)

今天突然要用到 UNION 的語法,順便來記錄一下 INTERSECT、EXCEPT
使用 UNION 時它會排除重複資訊,這點跟 CONCAT 很不一樣,
所以我比較常用 UNION 。

至於聯集、交集跟差集我該解釋他們是什麼嗎?
恩...我在下面註記了下,希望有點幫助 XDDDD

2019年2月12日 星期二

[ASP.NET]正規表示式/正則表達式(Regular Expression)

當你在使用驗證系列的功能時,常常會需要限制或驗證使用者輸入的值,
那這時候正規表示式就可以幫上很大的忙,或者該說,根本是正規表示式的天下。

其實基本教學網路上查非常多,例如 wiki 或一些 入門教學 。
但相信大家不會這麼熱衷去研讀它,在這裡就列出一些常用的表示式,讓大家快速取用。


2019年1月9日 星期三

[ASP.NET] 上傳檔案出現異常(檔案大小超出限制)

當使用者使用上傳功能出現超奇怪的錯誤,像是
無法顯示網頁~
伺服器應用程式無法使用~
已傳回類型 System.OutOfMemoryException 的例外狀況~

饒了我吧....

這種Debug模式下斷點也攔不到,讓人想一頭撞死的錯誤
就可以測測看是不是上傳檔案大小超出限制

基本上自IIS7開始,IIS預設上傳檔案的大小是28MB,而ASP.net則4MB。
(雖然我這次3.5MB就失敗了...)
如果預計開放的大小在28MB內,就只要設定Web.confog檔就可以了!
但如果要開得更大,就要額外設定IIS了。

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

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