2019/0225/SS合併查詢&ASP.NET驗證器

正規化後資料分散,查詢變得麻煩,

所以使用合併查詢便以查詢 有關聯沒關聯 (主鍵有沒有放在對方表內當索引鍵)

灰色為運算值 藍色為功能

select 為查詢要顯示什麼欄位

--完整表達法 班級.學號=學生.學生

如果兩個不相同表單具有相同欄位名稱,

關聯後要顯示就必須使用完整表達法,否則會模糊

--合併查詢

--inner join 內部合併查詢

(資料必須兩邊都要有)

--完整表達法 班級.學號=學生.學生
--合併查詢
--inner join 內部合併查詢

select 班級.*,員工.*,學生.*
--或以下
select 班級.教授編號,員工.姓名,班級.學號,學生.姓名,學生.性別, 
班級.課程編號,課程.名稱,課程.學分,班級.上課時間,班級.教室
from 班級 
inner join 學生 on 班級.學號=學生.學號 
inner join 課程 on 班級.課程編號=課程.課程編號
inner join 教授 on 班級.教授編號=教授.教授編號
inner join 員工 on 教授.身份證字號=員工.身份證字號
order by 學生.學號

要取一個與現在表單A無關聯之表單C欄位

就必須先相關聯另一個與這兩個欄位相關連之表單B

如果沒有條件運算式則顯示就會顯示資料全部完整筆數

聚合函數 用在統計 / 報表 ( 要看什麼就丟甚麼進去 )

其實有三種寫法,且寫完結果都一樣

第二種join寫法 用包含的方式

第三種寫法 natural join 自然合併

會產生卡式基關聯

解決方法為使用條件運算子去塞選 多重時則用邏輯運算子 去做條件相加

--outer join 外部合併查詢

(ex.員工4位跟教授7位筆數不同,執行內部合併只能查到是教授也是員工的,但outer join則又分為left right 以左或右為主 ,主要的表所有筆數都會出現,而另一表沒有的值)

又分為

空值 =NULL

空字串 'null'

空 is null

NULL是 : "什麼也不是" 的意思 空字串是 : "什麼也沒有" 的意思

舉例來說, 硬碟在格式化之前, 它"什麼也不是" 格式化後, 不放東西, 這叫做"空的硬碟".

--full join 全外部合併

左與右都放進來 哪邊沒有就哪邊用null表示

--cross join 交叉合併

卡式基運算

ASP.NET驗證器 CustomValidatorl

<aspx>

<aspx.cs> CustomValidator

foreach 字串陣列

substring ( 起始值 , 抓多少數量 )一碼一碼抓 ( 1 , 1) 第二碼抓一個 (3,2) 第四碼開始 一次抓2個

toupper 將小寫字母轉換為大寫

Convert 萬用轉型態 Convert.ToInt16

因為custombalidatorl 是在後端做運算 必須將資料往後端送

OnServerValidate="CustomValidator1_ServerValidate"

所以其實已經接收了資料

所以應該要再多寫一個判斷不要擷取錯誤不合法表單資料入資料庫

asp控制項會自動幫妳寫好js一些不用在後端運算的直接擋在前端

那如何在後端擋表單

ValidationSummary 控制器統合控制項

( 驗證器錯誤訊息排版工具 )

Text = 永遠顯示

errormessege = 錯誤才會顯示

display ="None" 不顯示在驗證器存在的那個欄位 顯在在控制器統合控制項上

Last updated

Was this helpful?