iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 5
0
自我挑戰組

網路世界的奇怪冒險系列 第 5

【Day 5】 在Visual Studio 2017 寫一個簡單的班表(2/3)

  • 分享至 

  • xImage
  •  

大家好,今天跟大家一起學習如何在Visual Studio 2017 寫一個簡單的班表。
今天主要是講解資料庫的部分,首先我們會分成兩張表。
1.班表的週期時間
2.值班人員的時間

Step 1. 建立班表的週期時間

在昨天建立的資料庫中,新增ClassTime 這張表格

1-1
https://ithelp.ithome.com.tw/upload/images/20190921/20112000gEkXcEtxSo.png

1-2要將ID改為true,讓ID能夠自動產生流水號
https://ithelp.ithome.com.tw/upload/images/20190921/20112000uohED4hTTm.png

1-3 建立欄位資料
https://ithelp.ithome.com.tw/upload/images/20190921/20112000iO4auFJLSI.png

https://ithelp.ithome.com.tw/upload/images/20190921/20112000M8nPDcHxlT.png

1-4 重新整理
https://ithelp.ithome.com.tw/upload/images/20190921/20112000lMpsJ4vP3Y.png

1-5 準備建立資料
https://ithelp.ithome.com.tw/upload/images/20190921/201120002d1vaLichf.png

1-6 輸入資料
https://ithelp.ithome.com.tw/upload/images/20190921/20112000bZGQDeEsVX.png

Step 2. 建立值班人員的時間

2-1 建立欄位資料
https://ithelp.ithome.com.tw/upload/images/20190921/20112000zKXio9od59.png

Id:流水號
StaffNO: 員工代碼
StaffName: 員工姓名
tid : 對應班表班次
week: 星期幾
WorkTime:工作時間

2-2 建立表格

https://ithelp.ithome.com.tw/upload/images/20190921/20112000AqOO7ouzrM.png

2-3 重新整理
https://ithelp.ithome.com.tw/upload/images/20190921/20112000bNg8zZg3pz.png

2-4 準備建立資料
https://ithelp.ithome.com.tw/upload/images/20190921/20112000GssgFb6XR8.png

2-5https://ithelp.ithome.com.tw/upload/images/20190921/20112000Rd562TYlj4.png

2-6 撈出對應班表

select  
					tid,
	                [period],
	                [showtime],				
	                '' as 'worktime',
	                '' as [week],
	                '' as 'StaffName',
                    convert(varchar,getDate(), 112)   as 'compare_today' --用來判斷的今日日期
					
				from 
					dbo.ClassTable
				where 
				    -- 空白的區間
					tid not in (
									select
										t.tid 
									from 
										dbo.ClassTable t
									
									

									where 

										t.is_use='1'
										
					)
				
			union all
				  select 
	                t.tid,
	                t.[period],
	                t.[showtime],				
	                ISNULL(convert(varchar,w.worktime, 111),'') as 'worktime',
	                ISNULL(w.[week],'') as [week],
	                ISNULL(w.StaffName,'') as 'StaffName',
                    convert(varchar,getDate(), 112)   as 'compare_today' --用來判斷的今日日期
		

                from 
	                dbo.ClassTable t
                left join dbo.WorkTime w
	                on t.tid = w.tid
           

                where 

	                t.is_use='1'					
					order by tid

https://ithelp.ithome.com.tw/upload/images/20190921/20112000McFzsxXbME.png


上一篇
【Day 4】 在Visual Studio 2017 寫一個簡單的班表(1/3)
下一篇
【Day6】 駭客技能的學習網站-Hack This Site!
系列文
網路世界的奇怪冒險30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言