星期五, 10月 28, 2016

[VS] 視窗配置

從某大師介紹 Visual Studio PowerPoint 看見的功能 - 視窗配置

[VS] 視窗配置-1

建立兩個視窗配置,分別為 WinForm 和 Coding

WinForm 視窗配置

[VS] 視窗配置-2

Coding 視窗配置 (利用 VS 快捷鍵 Alt + Shift + Enter 是 Coding 視窗全螢幕)

[VS] 視窗配置-3

建立完成後,可以視窗配置管理內移動配置順序

[VS] 視窗配置-5

切換視窗配置,也可以利用快捷鍵 Ctrl + Alt + 數字 來切換

[VS] 視窗配置-6

切換視窗的提示訊息

[VS] 視窗配置-4

星期四, 10月 27, 2016

[SQL] 基礎 T-SQL 練習

論壇問題

[SQL] 基礎 TSQL 練習

練習 T-SQL

-- 資料建立
DECLARE @t_user TABLE (
    f_id int
    , f_name char(10)
    , f_birthday date
    , f_phone char(11)
    , f_level tinyint ) 

INSERT INTO @t_user (f_id , f_name , f_birthday , f_phone , f_level) VALUES
    (1 , 'Peter' , '1990-01-01' , '0911-123456' , 2)
    , (2 , 'Amy' , '1990-11-26' , '0911-235685' , 5)
    , (3 , 'Robert' , '1992-03-06' , '0912-365754' , 4)
    , (4 , 'Anna' , '1990-05-05' , '0913-644112' , 4)
    , (5 , 'Tina' , '1986-11-30' , '0922-111111' , 3)

DECLARE @t_bonus TABLE (
    f_name char(10)
    , f_bonus money
    , f_date date )

INSERT INTO @t_bonus (f_name , f_bonus , f_date) VALUES
    ('Peter' , 5000 , '2016-09-10')
    , ('Robert' , 1650 , '2016-09-10')
    , ('Anna',2500,'2016-08-10')
    , ('Peter',1000,'2016-07-10')
    , ('Anna',1500,'2016-10-10')

-- 1-1 查詢 1990 年出生的會員所有資料,按照生日排序 (由大至小)
SELECT * 
FROM @t_user 
WHERE f_birthday BETWEEN '1990-01-01' AND '1990-12-31'
ORDER BY f_birthday

-- 1-2 查詢名稱包含 er 字串的會員所有資料,按照 f_level 排序 (由小到大)
SELECT * 
FROM @t_user
WHERE CHARINDEX('er' , f_name) <> 0
ORDER BY f_level

-- 1-3 查詢 t_user 中有獎金 (記錄在 t_bonus) 的會員所有資料 (使用 IN)
SELECT *
FROM @t_user
WHERE f_name IN (SELECT f_name FROM @t_bonus)

-- 1-4 查詢 2016 年下半年是否有員工領到獎金 (使用 EXISTS)
SELECT T1.*
FROM @t_user AS T1
WHERE EXISTS
    (
        SELECT 1
        FROM @t_bonus AS T2
        WHERE T2.f_date BETWEEN '2016-07-01' AND '2016-12-31'
            AND T1.f_name = T2.f_name
    )

-- 1-5 查出表 A 有領過獎金的員工所有資料 (使用 DISTINC)
SELECT T1.*
FROM @t_user AS T1
    JOIN 
      (
          SELECT DISTINCT f_name
          FROM @t_bonus
      ) AS T2 ON T1.f_name = T2.f_name
  
-- 2.1 查出 2016 年 9 月領最大獎金的員工名稱
SELECT 
    TOP 1 
    f_name ,
    MAX(f_bonus) AS MaxBonus
FROM @t_bonus 
WHERE f_date >='2016/09/01' and f_date < '2016/10/01'
GROUP BY f_name 
ORDER BY MaxBonus DESC

-- 2.2 查出 2016 年每個員工的總共領取的獎金金額
SELECT
    f_name
    , SUM(f_bonus) AS TotalBonus
FROM @t_bonus
WHERE f_date BETWEEN '2016-01-01' AND '2016-12-31'
GROUP BY f_name

-- 2.3 查出 2016 年總共領取獎金超過 2000 的員工名稱、總獎金金額 (使用 GROUP BY & HAVING)
SELECT
    f_name
    , SUM(f_bonus) AS TotalBonus
FROM @t_bonus 
WHERE f_date BETWEEN '2016-01-01' AND '2016-12-31'
GROUP BY f_name
HAVING SUM(f_bonus) > 2000

星期四, 10月 20, 2016

[WinXP] 開啟重覆執行 chddsk 指令

發現某台 XP 工業 PC 竟然每次開機都會跑 chkdsk 檢查 D 磁碟區

[WinXP] 開啟重覆執行 chddsk 指令-1

原本想說部會是 Disk 快掛掉了,MHDD 檢查是 OK,後來查到這 篇論壇討論,下指令
chkntfs /x d:
就可以修復該問題

[WinXP] 開啟重覆執行 chddsk 指令-2

星期五, 10月 14, 2016

[Win10] 回復至先前組件

在網路上看見升級 1607 後,可以透過 Win10 內建回復,就很好奇去找找該設定,沒想到 ...........

原來升級為 1607 後可以透過內建功能回復,必須在 10 天進行,超過就不行啦

回復至先前組件-2

拿剛升級為 1607 的 PC 來看,會看到下圖

回復至先前組件-1