2019年5月14日 星期二

remove last word from SQL query


SET @columnSql = SUBSTRING(@columnSql, 1, LEN(@columnSql) - 1)

2019年5月5日 星期日

sql for loop select

--定義迴圈參數 DECLARE   @TotalNum INT, --執行次數 @Num INT       --目前次數 --設定迴圈參數 SET @TotalNum = 10 --執行次數 SET @Num =1        --目前次數  --執行WHILE迴圈 WHILE @Num <= @TotalNum  --當目前次數小於等於執行次數 BEGIN /* 這裡放要執行的SQL */     --設定目前次數+1     SET @Num = @Num + 1 END

REF:https://dotblogs.com.tw/berrynote/2016/08/06/120741

2019年3月12日 星期二

MSSQL 快速複製資料表


  1. 確定要複製哪一個資料表
  2. 執行複製語法
  3. 把複製好的資料表查詢出來

C# MVC 清空文字方塊


  • 使用 ModelState.clear() 把 model 中的資料清空,同步地也會清空 view 上文字方塊的資料。

public ActionResult Index()
{
return View();
}

[HttpPost]
public ActionResult Index(FormCollection collection)
{
// 這就會把 Model 中的資料清空
ModelState.Clear();
return View();
}

C# string to json object


  • 準備要轉成 json object 的字串
    • 可搭配 https://jsoneditoronline.org/ 使用
    • 轉換成單行
    • 把所有的 " 取代成 \"
    • object jsonObject = Newtonsoft.Json.JsonConvert
    • .DeserializeObject("{\"array\":[1,2,3],\"boolean\":true,
      \"color\":\"#82b92c\",\"null\":null,\"number\":123,\"object\":
      {\"a\":\"b\",\"c\":\"d\",\"e\":\"f\"},\"string\":\"Hello World\"}"); 

  • 用這樣的方式就可以順利取得一個 jsonObject

2019年3月10日 星期日

MSSQL 取得資料表欄位定義

在 MSSQL 中如何取得資料表的欄位定義?
在 SSMS 中可以游標反白要查的資料表,按快捷鍵 Ctrl+F1 就可以取得以下結果。


或是使用內建的 SP:EXEC sp_columns 'Table_Name'


以上兩種方法都可以看到資料表中的欄位詳細定義

2019年3月9日 星期六

javascript 產生特定區間亂數

function getRandom(min, max){
return Math.floor(Math.random() * (max - min)) + min;
};
// 產生 5~10 之間的亂數
console.log(getRandom(5, 10));

2019年2月28日 星期四

從 Postman 中取得 C# 程式碼套用在專案上

當我們從 Postman 中測試完成 api 的可用性時,
還可以從 code 選項選擇我們想要的程式語言,
直接提取程式碼使用,這裡以 C# 當範例。


Postman 建議使用的兩組 Header 可以刪除,並沒有用到!



其中 Visual Studio 中要呼叫 api 的專案需要 Nuget 安裝 RestSharp 套件


回到程式碼加上參考後就能順利使用

ERROR in node_modules/rxjs/internal/types.d.ts(81,44): error TS1005: ';' expected.

當你在對你的 Angular 專案執行 ng serve 時,突然出現以下錯誤:
ERROR in node_modules/rxjs/internal/types.d.ts(81,44): error TS1005: ';' expected.
node_modules/rxjs/internal/types.d.ts(81,74): error TS1005: ';' expected.
node_modules/rxjs/internal/types.d.ts(81,77): error TS1109: Expression expected.


以系統管理員身份執行 cmd,cd 到你的 Angular 專案後執行:
npm install rxjs@6.0.0 --save
將 rxjs 版本轉到 6.0.0 後再執行 ng serve 就可以順利把專案開起來了!

2018年4月23日 星期一

MSSQL 以特定格式取得日期



-- yyyy/mm/dd => 2019/02/28
SELECT CONVERT(VARCHAR, GETDATE(), 111)

-- yyyymmdd => 20190228
SELECT CONVERT(VARCHAR, GETDATE(), 112)

-- hh:mm:ss:mmm(24h) => 22:50:40:017
SELECT convert(varchar, getdate(), 114)

-- yyyy-mm-dd hh:mm:ss(24h) => 2019-02-28 22:50:40
SELECT convert(varchar, getdate(), 120)

-- yyyy-mm-dd hh:mm:ss.mmm => 2019-02-28 22:50:40.020
SELECT convert(varchar, getdate(), 121)

-- yyyy-mm-ddThh:mm:ss.mmm => 2019-02-28T22:50:40.020
SELECT convert(varchar, getdate(), 126)

-- yyyy mm dd => 2019 02 28
SELECT replace(convert(varchar, getdate(), 111), '/', ' ')

-- yyyy-mm => 2019-02
SELECT convert(varchar(7), getdate(), 126)


2018年3月26日 星期一

C# 宣告字串類型的列舉

當在 C# 中需要使用到字串類型的列舉時,你可以試試下列的做法定義 ContentTypeEnum
當定義好之後就可以在主程式中打 ContentTypeEnum. 就會跳出建議選單。


using System;
namespace CSharp_Test
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(ContentTypeEnum.Json);
Console.ReadKey();
}
}
public static class ContentTypeEnum
{
public static String X_WWW_Form_Urlencoded { get { return "application/x-www-form-urlencoded"; } }
public static String Json { get { return "application/json"; } }
}
}

2018年2月28日 星期三

C# Http Request

//// 建立連線
WebRequest request = WebRequest.Create(requestUrl);

//// 定義連線資訊
request.Method = "POST";
request.ContentType = "application/json";
request.Headers.Add("Authorization", "Bearer " + token);

//// FormData
StreamWriter streamWriter = new StreamWriter(request.GetRequestStream());
streamWriter.Write(parameter);
streamWriter.Flush();
streamWriter.Close();

//// 回應資訊
WebResponse response = request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();

//// Close
reader.Close();
response.Close();

2018年1月31日 星期三

C# 日期字串統一格式

//// 定義日期字串
string dateString = "2018/03/10";

//// 字串 -> DateTime
DateTime datetime = Convert.ToDateTime(dateString);

//// DateTime -> 字串(yyyy-MM-dd HH:mm:ss)
String datetimeString = datetime.ToString("yyyy-MM-dd HH:mm:ss");

//// 轉回來的字串才能統一格式
Console.WriteLine(datetimeString);

參考程式 -> C# Online

2018年1月5日 星期五

SQL Case When In Where Condition

SELECT
   column1, 
   column2
FROM
   viewWhatever
WHERE
CASE 
    WHEN @locationType = 'location' AND account_location = @locationID THEN 1
    WHEN @locationType = 'area' AND xxx_location_area = @locationID THEN 1
    WHEN @locationType = 'division' AND xxx_location_division = @locationID THEN 1
    ELSE 0
END = 1
SELECT column1, column2
FROM viewWhatever
WHERE
    (@locationType = 'location' AND account_location = @locationID)
    OR
    (@locationType = 'area' AND xxx_location_area = @locationID)
    OR
    (@locationType = 'division' AND xxx_location_division = @locationID)
By: https://stackoverflow.com/questions/206484/sql-switch-case-in-where-clause

2017年12月29日 星期五

MSSQL 確認資料是否為當年

SELECT *
FROM MyTable
WHERE YEAR(GETDATE()) = YEAR(@SelectDate)

MSSQL 週一到週五下午五點半過後與假日的規則

DECLARE @SelectDate DateTime = '2017/12/29 17:00';
DECLARE @StartDateTime Datetime = CONVERT(VARCHAR(10), @SelectDate, 111) + ' 17:30:00',
-- 2017-12-11 17:30:00.000 (今天是 2017/12/29 17:00)
@EndDateTime DateTime = CONVERT(VARCHAR(10), @SelectDate + 1, 111);
-- 2017-12-12 00:00:00.000 (今天是 2017/12/29 17:00)
DECLARE @IsFitRull BIT = 1; -- 預設不符合規則

IF (
DATEPART(DW, @SelectDate) IN (1, 7) OR -- 星期六或星期日
(DATEPART(DW, @SelectDate) IN (2, 3, 4, 5, 6) AND
@StartDateTime <= @SelectDate AND @SelectDate < @EndDateTime) -- 星期一 ~ 星期五 17:30 ~ 隔天 00:00
)
BEGIN
SET @IsFitRull = 0;
END
SELECT @IsFitRull

2017年10月13日 星期五

Visual Studio 無法叫用中斷點

解決 Visual Studio 無法叫用中斷點 原始程式碼與原始版本不同

1.把 Visual Studio 關掉
2.把專案中的 bin obj 資料夾刪掉
3.重開 Visual Studio 並建置

完成

2017年10月11日 星期三

Visual Studio 折疊與展開程式碼

(Ctrl + M) + (Ctrl + L)

執行第一次  => 全部展開
執行第二次  => 全部折疊

Kendo 國籍語言包

https://cdnjs.com/libraries/kendo-ui-core

Kendo Ui Loading Mask

kendo.ui.progress($("#id"), true);

Kendo Ui Form 控制項

http://demos.telerik.com/kendo-ui/styling/index

CSS 滑入滑出 translateX

element.style {
  1. transformtranslateX(201px);

Kendo Grid 修改刪除按鈕與功能

columns: [
            { field: "FirstName", title: "First Name" },
            { field: "LastName", title: "Last Name" },
            { field: "Position" },
            { field: "Phone", title: "Phone" },
            { field: "Extension", title: "Ext", format: "{0:#}" },
            { command: [ "edit", "destroy" ] }
        ]

transport: {
                read: {
                    url: crudServiceBaseUrl + "/EmployeeDirectory/All",
                    dataType: "jsonp"
                },
                update: {
                    url: crudServiceBaseUrl + "/EmployeeDirectory/Update",
                    dataType: "jsonp"
                },
                destroy: {
                    url: crudServiceBaseUrl + "/EmployeeDirectory/Destroy",
                    dataType: "jsonp"
                },
                create: {
                    url: crudServiceBaseUrl + "/EmployeeDirectory/Create",
                    dataType: "jsonp"
                },
                parameterMap: function(options, operation) {
                    if (operation !== "read" && options.models) {
                        return {models: kendo.stringify(options.models)};
                    }
                }
            }

2017年10月5日 星期四

.net mvc 錯誤訊息顯示

<system.web>
    <customErrors mode="Off"/>
</system.web>
<system.webServer>
    <httpErrors errorMode="Detailed" />
</system.webServer>

remove last word from SQL query

SET @columnSql = SUBSTRING ( @columnSql , 1 , LEN ( @columnSql ) - 1 )