2019/0218/TSQL基本指令&ASP.net左右置換表格/驗證傳值

ftp://10.10.3.189 sql

ftp://{帳號}:{密碼}@{網址或ip}:port

Select 欄位

from 表

select 姓名 from 學生

從學生資料表內選擇姓名出來查詢

沒有寫 from 就代表不是要從資料表查詢

TSQL 函數

MSDN

反白執行可以只顯示反白的

with ties 可重複名次

標準表示式

藍字 語法

紫字 函式

黑字 欄位

紅字 ' ' 值

[ ] 連續的 或 ex. a-e , a or b or c or d or e

l 管線符號 或是

% 萬用字元

_ 幾個字元

a-z a到z

^ 除了值以外

>

<

=

灰字 指令符

* 選擇全部

like 找尋關鍵字

between

and

ASP 左右置換表格

第二個按鈕為將左邊點選的值往右邊送

Code邏輯

第一個按鈕為全選

protected void btnAll_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < ltbInterest.Items.Count; i++)
            {
                ltbInterest2.Items.Add(ltbInterest.Items[i].Text);
            }
            ltbInterest.Items.Clear();
        }

按下時依次抓取左邊表單全部的值

右邊表單加上抓取後的全部的值

左邊表單刪除全部的值

第四個按鈕為全部選

protected void btnCancel_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < ltbInterest2.Items.Count; i++)
            {
                ltbInterest.Items.Add(ltbInterest2.Items[i].Text);
            }
            ltbInterest2.Items.Clear();
        }

將右邊表單的值依次全部抓取

左邊表單加上抓取的值

右邊表單刪除值

第二個按鈕為將左邊點選的值往右邊送

protected void btnYes_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < ltbInterest.Items.Count; i++)
            {
                if (ltbInterest.Items[i].Selected)
                {
                    ltbInterest2.Items.Add(ltbInterest.Items[i].Text);
                    ltbInterest.Items.RemoveAt(i);
                }
            }
        }

將左邊表單值全部依次抓取

並判斷該值是否有被選取

有的話執行右邊表單加上抓取的值

左邊表單刪除抓取的值

第三個按鈕為將右邊點選的值往左邊送

protected void btnNo_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < ltbInterest2.Items.Count; i++)
            {
                if (ltbInterest2.Items[i].Selected)
                {
                    ltbInterest.Items.Add(ltbInterest2.Items[i].Text);
                    ltbInterest2.Items.RemoveAt(i);
                }
            }
        }

依次抓取右表所有的值

並判斷該值是否有被選取

有的話增加該值置左邊表單

並刪除該值

Web值的狀態

程式&網頁必須考慮狀態

post back 客傳伺再回傳客 狀態必須消失

但為何會還有資料 ? 因為Webform自己設定幫你保留狀態了

原始網頁寫法必須搞定狀態管理,保留狀態值

webform預設因為安全性的關係會清掉密碼欄的狀態

推播 即時互動 => 伺服器有改變且主動傳值到客戶端

網頁是無法做到的因為網頁是走http必須要要求/傳值

以前都是土炮方法60秒重新自動刷新一次

但現在改為當伺服器改變主動通知客戶端

一樣走http 但 websocket 由伺服器通知

驗證傳值

webform 驗證控制項

RequiredFieldValidator 只驗證是否為空值 (必填驗證器)

 <asp:TextBox ID="txtAccount" runat="server"></asp:TextBox>
 <asp:
 
 RequiredFieldValidator ID="RequiredFieldValidator1" 
 ControlToValidate="txtAccount" runat="server" ErrorMessage="(必填)" 
 ForeColor="Red" Font-Size="10pt">
 
 </asp:RequiredFieldValidator>

debug 沒有jq

驗證模式需要jq的錯誤碼

去修改jq iis web.config

<configuration>

網站組態 關掉驗證jq

debug 驗證器元屬性更改

如果要postback所有的按鈕都會觸發驗證器

除非設定屬性 CausesValidation="false" 關掉不用驗證的那些按鈕

debug 錯誤型態驗證方式 ( 在猜其實跟元屬性也有關係

表單list不能用驗證是否有值來驗證

ComparaValidator 比較驗證器

ex. 驗證型態 type

<asp:TextBox ID="txtBirthday" runat="server" placeholder="1990-01-12"></asp:TextBox>


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


<asp:CompareValidator ID="CompareValidator1" runat="server" 
Operator="DataTypeCheck" Type="Date" ControlToValidate="txtBirthday" 
ErrorMessage="(格式錯誤)" ForeColor="Red" Font-Size="10pt">
</asp:CompareValidator>

Operator 作業方式

 <asp:DropDownList ID="ddlEduLevel" runat="server">
                            <asp:ListItem Text="請選擇"></asp:ListItem>
                            <asp:ListItem Text="國小"></asp:ListItem>
                            <asp:ListItem Text="國中"></asp:ListItem>
                            <asp:ListItem Text="高中"></asp:ListItem>
                            <asp:ListItem Text="大學"></asp:ListItem>
                            <asp:ListItem Text="研究所以上"></asp:ListItem>
</asp:DropDownList>


<asp:CompareValidator ID="CompareValidator2" 
runat="server" Operator="NotEqual" ValueToCompare="請選擇" 
 ControlToValidate="ddlEduLevel" ErrorMessage="(請選擇)" 
 ForeColor="Red" Font-Size="10pt">
 </asp:CompareValidator>

判斷值是否等值

 <asp:TextBox ID="txtPwd2" 
 runat="server" TextMode="Password" 
 placeholder="請再輸入一次密碼">
 </asp:TextBox>
 
 
 
<asp:CompareValidator ID="CompareValidator3"
runat="server" Operator="Equal" ControlToCompare="txtPwd" 
 ControlToValidate="txtPwd2" ErrorMessage="(兩次密碼輸入不相同)" 
 ForeColor="Red" Font-Size="10pt"></asp:CompareValidator>

判斷兩控制項的值

Last updated