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
網站組態 關掉驗證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>
判斷兩控制項的值