C50108
  • 2019/0801/轉職成功路途開始
  • 自學心得與此網站使用方式
  • 行事曆&課程大綱
  • 2019/0224/自我檢視
  • 雜記
    • 2019/0103/雜記
    • 2019/0410/作品集建構
    • 2019/0429/職訓局書單
    • 2019/0317/自我檢視
    • 2019/0316/陪玄松去高車討論&環境圖流程圖大神們line討論
    • 2019/0305/Gitbook使用方法
  • 2018/10XX/轉職心路歷程
  • 職訓局里程碑
    • 201901
      • 2019/0103/行動商務系統設計與開發,職訓局報到
      • 2019/0104/正式開課日&行動商務課程簡介
      • 2019/0108/資料庫理論/Access&WEB開發簡介
      • 2019/0109/資料庫資料型態屬性&HTMLtag
      • 2019/0110/計概基礎概念
      • 2019/0111/HTML表格table&form表單_post/get&iframe
      • 2019/0114/計&網概概念&網路層概念
      • 2019/0115/資料庫Access運算值&CSS簡介&在職班補充
      • 2019/0116/Access比較/邏輯運算&CSS_在職班補充+選擇器+Box model
      • 2019/0117/資訊系統架構&網路層
      • 2019/0118/資料庫正規化
      • 2019/0121/計概IT分工&資料庫正規化
      • 2019/0122/網路層&CSS父子容器切版
      • 2019/0123/Access資料庫關聯&CSS position&偵錯
      • 2019/0124/C#宣告、指定運算子
      • 2019/0125/VM虛擬機_基礎介紹
      • 2019/0128/VM虛擬機架設_虛擬網卡設定&伺服器權限設置
      • 2019/0129/Wireshark查詢網路層&資料庫物件導向
      • 2019/0130/ERmod雞爪圖&C#if、for時間複雜度
      • 2019/0131/C#流程控制&變數型別
    • 201902
      • 2019/0201/系統分析與設計_資料庫ERmod&c#Homework
      • 2019/0211/ASP.NET_Webforms&物件命名空間
      • 2019/0212/定址&網路遮罩
      • 2019/0213/SQLSeverM.S.介紹&AspWebforms表單控制項
      • 2019/0214/網概乙太網路&網路安全
      • 2019/0215/Pre Javascript 基礎 & 在職班補充
      • 2019/0218/TSQL基本指令&ASP.net左右置換表格/驗證傳值
      • 2019/0219/Javascript終極密碼&musicplay&asp.net驗證器
      • 2019/0220/SS基本語法&網概line機器人
      • 2019/0221/前端Javascript musicplay、內聚力耦合率
      • 2019/0222/前端Javascript musicplay、內聚力耦合率&伺服器權限
      • 2019/0223/SqlServerHomework&第一次專案報告
      • 2019/0225/SS合併查詢&ASP.NET驗證器
      • 2019/0226/伺服器ntfs安全性權限/共用權限
      • 2019/0227/Javascript_music_play_end&ASP.net串聯SQL(datasource就是拿來串SQLServer的)
    • 201903
      • 2019/0304/SS集合運算/子查詢/exists&asp.net GridView 事件 OnRowDataBound
      • 2019/0305/SS查詢式end&ASP.NET_Gridview_自訂樣式分頁
      • 2019/0306/Javascript musicplay_really_end
      • 2019/0307/前端HTML5鑲嵌字型&伺服器網域概念
      • 2019/0308/Android Studio_基礎概念&開發環境建置
      • 2019/0311/胡中興 工業4.0講習
      • 2019/0312/安卓系統_開發基礎介紹
      • 2019/0313/安卓工作室_基礎/布局內元件
      • 2019/0314/Asp.net鏈結資料庫-查詢
      • 2019/0315/SQS DML&第二次專案報告
      • 2019/0318/SQL DDL & 伺服器 自學基礎
      • 2019/0319/Android Studio_布局內元件&佈局規劃元件
      • 2019/0320/SQL檢視表&tsql基礎&Asp.net_Gridview
      • 2019/0321/TSQL&TDM&ASP.NET_Datalist
      • 2019/0322/DOM&JQ基礎&系統分析設計PPT&在職班補充
      • 2019/0325/TMD&Asp.net上傳圖片/產生QRCode
      • 2019/0326/SQLServer_預存程序+函數&Asp.net_Webforms半自動鏈結資料庫與自動化更新
      • 2019/0327/安卓工作室_佈局規劃元件
      • 2019/0328/jQuery選擇器應用&Ajax導讀+應用&asp.net串sserver_註冊帳號功能
      • 2019/0329/ADDS伺服器架設&第三次專題報告
    • 201904
      • 2019/0401/SQL觸發程序&Asp.net自動寄信&認證信
      • 2019/0402/前端作業四-jQ應用轉換樣式&ASP.NET_FormView控制項-會員資料維護實例
      • 2019/0403/JQ事件動畫&股市&Usecase
      • 2019/0408/安卓工作室_元件/布局基本end
      • 2019/0409/安卓工作室-物件導向事件驅動實作+Homework1&2
      • 2019/0410/上午小組討論-作品集自習&Visual studio webform+MVC範本
      • 2019/0411/安卓工作室-UI觸發委派函式與控制物件
      • 2019/0412/JQ動畫實做(寶可夢遊戲開場)&第四次專題報告
      • 2019/0415/前端JQ-Ajax+JSON&後端ADO建置、主板頁面概念控制項、Bootstrap演示
      • 2019/0416/安卓工作室UI控件案例結束、IDE Eclipse_Java物件導向基礎
      • 2019/0417/伺服器網域ADDNS&416LINE討論
      • 2019/0418/SQL指標、索引&Use cace
      • 2019/0419/主頁、Webform ADO.NET Entity Fromwork 增刪修實作&第五次專題報告
      • 2019/0423/Java基礎(型別/溢位/自動強制型別轉換/鑄造物件/串流/)&I/O物件用法(底層/較不底層)
      • 2019/0424/Bootstrap_RWD基礎/應用&Asp.Net_MVC實作增刪修(修待補)
      • 2019/0425/伺服器IIS安裝&資料匯入與管理
      • 2019/0426/Asp.Net_MVC增刪修實作(補修)&bootstrap – gridsystem– 網格系統&第六次專題報告&全國技能競賽網頁設計
      • 2019/0429/物件導向技術原理方法實作
      • 2019/0430/資料庫設計應用效能調教_SQL all end&ASP.NET_MVC_Controller單元_純C無V無M操作/簡單複雜繫結
    • 201905
      • 2019/0501/內部網站辨識&外部DNS域名/IP+自架DNS伺服器理解
      • 2019/0502/Java語言基礎、物件導向基礎
      • 2019/0503/Asp.net泛型處理常式驗證圖片應用&第七次專題報告Usecase
      • 2017/0506/Bs_FlexBox&Asp.Net_MVC_View+Razor@+Viewbag+helper
      • 2019/0507/Java 物件導向_類別+函式觀念&階段性作業三
      • 2019/0508/Asp.Net_MVC_Model_ADO.NET+Entityframework+LoginMember實作+MVC觀念
      • 2019/0509/Java物件導向(函式)_儲存型態+回傳值+多載+自制+例外處理+this參照+存取+複合
      • 20919/0510/第八次專題報告=功能DEMO
      • 2019/0514/Java_靜態類別+繼承特性
      • 2019/0515/RWD Utility+Card&MVC ViewModel+CRUD(RD)
      • 2019/0516/BS form&驗證+JQ驗證 & MVC_CRUD(CU)
      • 2019/0517/ASP.NET Webform介紹Master page 主頁 & Session 簡介 & 登入login驗證 & 隱碼攻擊injection & 工具箱程式碼片段使用
      • 2019/0520/繼承&存取權特性+java作業四+字符串格式化+多形+抽象類別
      • 2019/0521/抽象類別+介面
      • 2019/0522/Bootstrap Components 元件介紹 + MVC API 概念&實作
      • 2019/0523/IIS IP限制&ASP.NET部屬
      • 2019/0524/WebApi異質程式連線方式&第九次專題報告_循序圖
      • 2019/0528/Bootstrap Components 元件介紹 + MVC 登入驗證 + 商品加入購物車 實作
      • 2019/0529/ASP.NET_MVC購物車訂單功能完成+BootstrapComponents元件介紹
      • 2019/0530/原本是伺服器的課,但拿來做專題。
      • 2019/0531/ASP.NET_WebformAllView物件功能清單&ListView實作&第十次專案報告(完整循序圖)
    • 201906
      • 2019/0603/Bootstrap Components RWD End + ASP.NET_MVC Part2 PhotoSharing CodeFirst & Model 驗證
      • 2019/0604/ASP.NET_MVC Part2 PhotoSharing Controller & Filter & ADO.NET & View@RAZOR Helper
      • 2019/0605/Java介面實作&結束+安卓工作室(整合Layout與Java)Intent意圖&Bundle包裹
      • 2019/0606/第十一次專案報告功能demo+SingnaIR+伺服器作業+端午歌唱比賽
      • 2019/0609/黃大神傳授Visual_Studio&除錯技巧
      • 2019/0610/番外篇 Web Socket 即時連線& 就業前準備與技巧
      • 2019/0611/安卓工作室_(意圖+隱含意圖)資料傳遞+Android生命週期+硬體裝置與應用
      • 2019/0612/WebSockets Notification + MVC Part2 PhotoSharing PartialView & ADO.NET & EntitySQL & VMd
      • 2019/0613/MVC Part2 PhotoSharing ViewModel & ErrorHandle
      • 2019/0614/第十二次專案報告 功能Demo
      • 2019/0618/MVC Part2 PhotoSharing Route & Sitemap & _LayOut & AJAX
      • 2019/0618/RWD在職班_(Javascript_object-oriented programming)
      • 2019/0619/安卓工作室_(硬體裝置與應用)相機操作&GPS+階段性作業6+延伸 ( APP End )
      • 2019/0620/MVC補充C#MS SQL匯入CSV+上傳CSV存入MS SQL
      • 2019/0621/第十三次專案報告 功能Demo
    • 2019/0701/最終專案報告
    • 2019/0702/結訓與家人遊台東預計0708開始找工作自學筆記應該會等工作穩定後繼續開始
  • 自學里程碑
    • 201901
      • 2019/0107/DR
      • 2019/0108/UW
      • 2019/0103/Git
      • 2019/0103/CS
      • 2019/0115/Vscode
      • 2019/0116/JSON&AJAX
      • 2019/0122/卡內基
      • 2019/0126/MBTI
      • 2019/0131/PDP 外在 內在
    • 201902
      • 2019/0217/huli_half Developer
      • 2019/0219/SEO
      • 2019/0219/雪球速讀法
    • 201903
      • 2019/0304/asp、php、jsp、asp.net、net. Framework、asp.net core
      • 2019/0329/網站架站初嘗試
    • 201904
      • 2019/0415/Datatype-Explanation
      • 2019/0416/ASP.NET_Webform&Core&MVC(MVVM/MVP)
    • 201905
      • 2019/0613/開發職訓局共同專案時遇到的問題與解法
      • 2019/0514/ASP.NET SignalR
      • 2019/0514/JS擴展-JQ、React、Vue、Angular...
      • 2019/0514/Sass&Scss
      • 2019/0514/MVC結合Webform
      • 2019/0515/ASP.NET MVC_TempData/ViewData/ViewBag
      • 2019/0522/[自學筆記]海綿體啟蒙??
Powered by GitBook
On this page
  • --合併查詢
  • --inner join 內部合併查詢
  • --outer join 外部合併查詢
  • https://www.itread01.com/articles/1478491504.html
  • --full join 全外部合併
  • --cross join 交叉合併
  • ASP.NET驗證器 CustomValidatorl
  • <aspx>
  • <aspx.cs> CustomValidator
  • 那如何在後端擋表單
  • ValidationSummary 控制器統合控制項

Was this helpful?

  1. 職訓局里程碑
  2. 201902

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

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

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

select 課程.課程編號,課程.名稱,count(*) as 被選課數 
from 班級 
inner join 課程 on 班級.課程編號=課程.課程編號
group by 課程.課程編號,課程.名稱

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

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

select  班級.教授編號,員工.姓名,教授.科系,教授.職稱,班級.學號,學生.姓名,學生.性別, 
班級.課程編號,課程.名稱,課程.學分,班級.上課時間,班級.教室
from 員工 inner join (教授 inner join 
(課程 inner join 
(班級 inner join 學生 on 班級.學號=學生.學號) 
on 班級.課程編號=課程.課程編號)  
on 班級.教授編號=教授.教授編號)
on 教授.身份證字號=員工.身份證字號
order by 學生.學號

第三種寫法 natural join 自然合併

會產生卡式基關聯

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

select  班級.教授編號,員工.姓名,教授.科系,教授.職稱,班級.學號,學生.姓名,學生.性別, 
班級.課程編號,課程.名稱,課程.學分,班級.上課時間,班級.教室
from 班級, 學生, 課程, 教授, 員工
where  班級.學號=學生.學號 and 班級.課程編號=課程.課程編號 and 班級.教授編號=教授.教授編號
and 教授.身份證字號=員工.身份證字號
order by 學生.學號

--outer join 外部合併查詢

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

--外部合併查詢 outer join

select *
from 員工 inner join 教授
on 員工.身份證字號=教授.身份證字號

select *
from 員工 left outer join 教授
on 員工.身份證字號=教授.身份證字號

select *
from 教授 left outer join 員工
on 員工.身份證字號=教授.身份證字號

select *
from 員工 right outer join 教授
on 員工.身份證字號=教授.身份證字號

select *
from 班級 right outer join 學生
on 班級.學號=學生.學號
where 班級.學號=null


select *
from 學生
where 生日 is null

又分為

空值 =NULL

空字串 'null'

空 is null

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

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

--full join 全外部合併

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

--full join
select *
from 班級 full outer join 學生
on 班級.學號=學生.學號

--cross join 交叉合併

卡式基運算

--cross join
select *
from 班級 cross join 學生

select *
from 班級,學生

ASP.NET驗證器 CustomValidatorl

<aspx>

<html>
<td>身分證字號:</td>
<td>




<asp:TextBox ID="txtID" 
runat="server" placeholder="A123456789" MaxLength="10"></asp:TextBox>


<asp:RequiredFieldValidator ID="RequiredFieldValidator3" 
Display="Dynamic" ControlToValidate="txtID" runat="server" 
ErrorMessage="(必填)" ForeColor="Red" Font-Size="10pt"></asp:RequiredFieldValidator>


<asp:RegularExpressionValidator ID="RegularExpressionValidator2" 
Display="Dynamic" ControlToValidate="txtID" 
ValidationExpression="[A-Za-z](1|2)\d{8}" runat="server" 
ErrorMessage="(格式有誤)" ForeColor="Red" 
Font-Size="10pt"></asp:RegularExpressionValidator>


<asp:CustomValidator ID="CustomValidator1" 
runat="server" ErrorMessage="(不合法)" ForeColor="Red"
Font-Size="10pt" OnServerValidate="CustomValidator1_ServerValidate" 
ControlToValidate="txtID"></asp:CustomValidator>




</td>
</html>

<aspx.cs> CustomValidator

foreach 字串陣列

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

toupper 將小寫字母轉換為大寫

Convert 萬用轉型態 Convert.ToInt16

   protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
        {
            string id = txtID.Text;

            string[] eng = {"A", "B", "C", "D", "E", "F", "G", "H", "J", "K",
                "L", "M", "N", "P", "Q", "R", "S", "T", "U", "V", "X", "Y", "W",
                "Z", "I", "O" };

            int intEng = 0;

            for(int i=0;i<eng.Length;i++)
            {
                if(eng[i]==id.Substring(0,1).ToUpper())
                {
                    intEng = i + 10;
                    break;
                }

            }

            //假設n=17
            int n1 = intEng / 10;  //n1=1
            int n2 = intEng % 10;  //n2=7



            int[] a = new int[9];
            for (int i = 0; i < a.Length; i++)
            {
                a[i] = Convert.ToInt16(id.Substring(i + 1, 1));

            }

            int sum = 0;
            for (int i = 0; i < 8; i++)
            {

                sum += a[i] * (8 - i);
            }

            int n = 0;
            n=n1 + n2 * 9 + sum + a[8];

            //n1 +n2*9+a[0]*8+a[1]*7*a[2]*6+a[3]*5

            
            if (n % 10 == 0)
                args.IsValid = true;
            else
                args.IsValid = false;
        }
n1 + n2 * 9 +a[0] * 8 + a[1] * + * a[2] *6 + .....

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

OnServerValidate="CustomValidator1_ServerValidate"

所以其實已經接收了資料

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

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

那如何在後端擋表單

<前端>
<asp:Button ID="Button1" runat="server" Text="確定送出" OnClick="Button1_Click" />
<input id="Reset1" type="reset" value="重設" />
</前端>
  
  
  
<後端>
protected void Button1_Click(object sender, EventArgs e)
        { if (this.IsValid)
           {
                Response.Write("表單已成功送到伺服器");
                //上面那行先假裝表示往資料庫存入的程式碼
            }
        }
</後端>

ValidationSummary 控制器統合控制項

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

Text = 永遠顯示

errormessege = 錯誤才會顯示

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

 <asp:ValidationSummary ID="ValidationSummary1" 
 runat="server" Font-Size="10" ForeColor="Red"
  DisplayMode="BulletList" ShowMessageBox="true" />
 /// <summary>
        /// ValidationSummary1 控制項。
        /// </summary>
        /// <remarks>
        /// 自動產生的欄位。
        /// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
        /// </remarks>
        protected global::System.Web.UI.WebControls.ValidationSummary ValidationSummary1;

Previous2019/0223/SqlServerHomework&第一次專案報告Next2019/0226/伺服器ntfs安全性權限/共用權限

Last updated 6 years ago

Was this helpful?

https://www.itread01.com/articles/1478491504.html
笛卡儿积Wikipedia
程式設計俱樂部 v7.0
[Java]列出字串每個字元與Substring的用法 @ 葛瑞斯肯樂活筆記 :: 痞客邦 ::葛瑞斯肯樂活筆記
Logo
Logo