2017年9月5日 星期二

[SQL] SELECT INTO跟INSERT INTO的差別

轉載 :  https://goo.gl/a6PvXF

SELECT INTO可以into進去暫存的table也可以into實體table,
INSERT INTO只能into實體的table。
實體:SELECT ~ INTO table2 FROM table1
虛擬:SELECT ~ INTO #table2 FROM table1


也就是說,如果使用SELECT INTO
後面的table2如果本來就有,他就直接塞資料;
如果本來就沒有table2,他會新建一個table2,再塞資料。


加了#的意義就是,into進去後,
把Query關掉,重新開啟一個Query,table2就不見了,等於是暫存性的。


當然假如不加#的話,table2就會一直保留著。


另外SELECT INTO如果是實體用法,可以等同於:
INSERT INTO table2 (.....)
SELECT ~ FROM table1

2017年8月4日 星期五

[SQL] 小數點去除多餘0

可以使用cast as float 先轉型~

image

結果

image

2017年8月1日 星期二

IIS 上使用到Office COM元件


最近網站有使用到excel內的函式運算 :

Microsoft.Office.Interop.Excel


在本機run都ok, 但放到IIS上卻出現error :

擷取元件 (CLSID 為 {00024500-0000-0000-C000-000000000046}) 的 COM Class Factory 失敗,因為發生下列錯誤: 80070005 存取被拒。 (發生例外狀況於 HRESULT: 0x80070005 (E_ACCESSDENIED))。


解法 : https://dotblogs.com.tw/v6610688/2015/02/19/iis_office_access_word_excel_com_interop_api_configuration

原因就是要設定權限並打開~

2017年7月19日 星期三

[C#] dataset 是唯獨 不能修改問題

今天維護一個有點年紀的程式

此程式是用datareader 讀去資料後放到data set

我需要進一步修改data set 卻報出唯獨不能修改…orz

查了一下才發現使用data Reader來讀資料load 進 dataset還會是唯獨狀態

因此我必須改動狀態才能進行更新.

所以要再加上類似下述

datatable.columns["name"].ReadOnly = false;


---

參考 : https://goo.gl/53dtqt

2017年5月8日 星期一

[C#] 日期時間

 

以下是特定時間與當下時間差做比較,並以小時表示

var timeDiff = new TimeSpan(BeginTime.Ticks - DateTime.Now.Ticks).TotalHours;

2017年4月25日 星期二

[C#] 日期比較

 

DateTime.Compare(date1, date2) > 0) 表示 date1 > date2

DateTime.Compare(date1, date2) == 0) 表示 date1 == date2

DateTime.Compare(date1, date2) < 0) 表示 date1 < date2

2017年4月17日 星期一

[mvc] 加入多國語系


簡易流程 : 簡單說就是利用cookie紀錄瀏覽器的預設語系,然後在server端切換對應的語系檔(.resource)
1.在controller 加入切換語系的action

public ActionResult ChangeLang(String langCode, String bakCtrl, String bakAct)
      {
          //use Cookies save lang code
          HttpCookie LangCookie = Request.Cookies["lang"];
 
          if (LangCookie == null)
          {
              LangCookie = new HttpCookie("lang");
          }
 
          LangCookie.Value = langCode;
          LangCookie.Expires.AddDays(1);
          Response.Cookies.Add(LangCookie);
 
          if (String.IsNullOrEmpty(bakCtrl) || String.IsNullOrEmpty(bakAct))
          {
              return RedirectToAction("Index""Home");
          }
          else
          {
              return RedirectToAction(bakAct, bakCtrl);
          }
      }
 
 
2.在html加入切換語系
<a href="@Url.Action("ChangeLang""Home"new { langCode = "zh-TW" })">中文</a>

3.在Global.asax 設定cookie語言的資訊

protected void Application_BeginRequest(Object sender, EventArgs e)
      {
          HttpCookie myLang = Request.Cookies["lang"];
          if (myLang != null)
          {
              System.Threading.Thread.CurrentThread.CurrentCulture =
                  new System.Globalization.CultureInfo(myLang.Value);
              System.Threading.Thread.CurrentThread.CurrentUICulture =
                  new System.Globalization.CultureInfo(myLang.Value);
          }
      }
 

4.新增resource資源檔 增加欄位即可
參考 :  https://goo.gl/5gh9gw
編輯多國語系套件 : http://resxmanager.codeplex.com/