我有兩個表單form1跟form2跟一個SQL資料庫mydata.mdf(只有一個表單有兩個欄位一個帳號一個密碼)。
form2有兩個textbox,一個做新增帳號一個做新增密碼然後再加入一個button,我把新增密碼連結到資料表的帳號,新增密碼連結到資料表的帳號,當我按下BUTTON就會新增一組帳密。
當我執行此程式時會先執行form2的formload呼叫form1來進行驗證帳密,form1一樣有兩個textbox跟一個BUTTON分別要輸入帳號跟密碼當我按下按鈕就會進行驗證帳密是否正確,如果正確就會進入form2可以新增帳密。
問題一:在form2要做binding source到mydata.mdf而form2的兩個欄位要連繫到資料表的兩個欄位,那form1要做這些動作嗎??
問題二:當我按下form1的BUTTON要驗證form1所輸入的帳號跟密碼是否跟資料庫的一樣,這邊要怎麼寫??
問題一:不用
問題二:作法很多種,如果您在Form2儲存密碼時沒有作加密,那就下SQL指令至資料庫取出該帳號的密碼作字串比對,相同則驗證通過
以上是最簡單的作法,作練習這樣應該就夠了,但放到真實系統上建議要考慮資安問題,要加強使用者輸入資料的過濾(防止SQL Injection)及Kradark大所提到的加密驗證部份。
問題不明確, 你是要問WindowForm 還是 WebForm ?
如果是WebForm
在ASP.NET下, 常用 Login 控制項做帳號登入的驗證
如果你不要用 ASP.NET 預設的帳號驗證
也可以在Login 控制項用 OnAuthenticate 去接自訂的帳號驗證
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
//你自己用ADO.NET去存取你的資料庫, 做帳號驗證
//如果帳號驗證成功就 e.Authenticated = true;
//如果帳號驗證成功就 e.Authenticated = faase;
}
記得使用單向加密函式