嗨!大家我們今天要來接著繼續昨天講解的程式碼!!
今天我們就來看看第二個Button
的作用是什麼!!我們第二個按鈕主要的功能就是要讓使用者對已存在在資料庫的帳號密碼去做更新!!那要做更新的動作,必然是原先用戶用自己的帳號密碼登入後點擊一個名為edit
的按鈕,在按下按鈕的那一瞬間,程式碼上開始在跑第一個區塊的程式,也就是我們的Page_load
裡的程式碼!
那只要我們的使用者輸入的帳號及密碼是正確的話,之前講過的檢查帳號密碼的變數便會變成1,於是大家可以看到我們這裡又有了一個if
的選擇判斷!
大家可以看到以下的程式中的if
判斷!若是有此帳號,且密碼是正確的,那我們會把很多控制項的屬性中的Visible
設定為true
,這是讓我們把接下來的更新畫面透過edit
的按鈕呈現出來!
protected void Button2_Click(object sender, EventArgs e)
{
////將update分為兩步驟去寫(要有兩個button),第一個是按下edit跳出兩個新的視窗,再有一個確認更新的button
//GridView1.Visible = false;
if (AcoutAndPasswordchecknum == 1)
{
Textbox3.Visible = true;
Textbox4.Visible = true;
Button5.Visible = true;
Label1.Visible = true;
Label2.Visible = true;
}
else
{
Response.Write("<script>window.alert(\"您輸入的帳密是錯誤的\");</script>");
}
}
接下來這才是我們更新最主要的程式碼,這是要去做另一個更新按鈕!也就是PRESSUPDATE
,這可以讓我們去將新輸入的資料更新進去資料表當中!!
string basestr = "UPDATE strtable SET [str_id] =@str_id ,[str_password] =@str_password WHERE [str_id]=@inputid AND [str_password] = @inputpassword";
string checkstr = "select * from strtable where [str_id] = @check_id "; //只要看有沒有同一個帳號就行了!!
SqlCommand cmd = new SqlCommand(basestr, conn);
SqlCommand cmd2 = new SqlCommand(checkstr, conn);
cmd2.Parameters.AddWithValue("check_id", Textbox3.Text);
SqlDataReader dr = cmd2.ExecuteReader();
if (!dr.Read())
{
cmd2.Cancel();
dr.Close();
cmd.Parameters.AddWithValue("inputid", Textbox1.Text);
cmd.Parameters.AddWithValue("inputpassword", Textbox2.Text);
cmd.Parameters.AddWithValue("str_id", Textbox3.Text);
cmd.Parameters.AddWithValue("str_password", Textbox4.Text);
cmd.ExecuteNonQuery();
cmd.Cancel();
conn.Close();
Response.Write("<script>window.alert(\"已更新成功!\");</script>");
}
大家可以發現我們在裡面有兩個設定好的sql
字串,在這裡會有這個是因為我們要再確認一次使用者的帳號,當這個機制結束後就變成使用我們的string basestr
來將我們更新的sql
指令執行!