iT邦幫忙

2022 iThome 鐵人賽

DAY 23
0
自我挑戰組

ASP.NET & SQL Server系列 第 23

帳密系統程式實作(3)

  • 分享至 

  • xImage
  •  

嗨嗨!大家好,今天就讓我們繼續下去昨天講解的內容吧!!

昨天我們講解完了我們需要有一個機制是去檢測我們的帳號及密碼系統是否已經存在我們的資料庫裡了!

那今天我們就來講解我們們在帳號系統的第一個功能!!新增我們的帳號密碼的功能,那這個功能除了能新增我們的帳號及密碼到我們的資料表外,我們還需要注意一件事情,那就是帳號是否有同樣的出現,也就是我們要檢查使用者輸入的帳號是否有重複,那這件事情我們就需要再做一個像我們昨天講解的那段程式碼一樣的方法,只是我們變更成只檢查帳號而已,若有一樣的則讓變數改成1,沒有則維持不變!

  int AcoutAndPasswordchecknum = 0 ;
        
  int CheckAccountOnlynum = 0;

好了那講完這個檢查機制後我們來看我們應該怎麼實作這個功能!!

protected void Button1_Click(object sender, EventArgs e)
        {
           
            //GridView1.Visible = false;

            SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString);
            
            conn.Open();

            string sqlstr = "insert into strtable ([str_id],[str_password]) values(@str_id ,@str_password)";
          
            /*string checkstr = "select * from strtable where [str_id] = @id";

            SqlCommand checkcmd = new SqlCommand(checkstr, conn);

            checkcmd.Parameters.AddWithValue("id",Textbox1.Text);

            SqlDataReader dr = checkcmd.ExecuteReader();*/

            if (CheckAccountOnlynum==1)
            {

                conn.Close();
                Response.Write("<script>window.alert(\"有重複的帳號名稱!\");</script>");
             
            }
            else
            {

                
                SqlCommand cmd = new SqlCommand(sqlstr, conn);

                cmd.Parameters.AddWithValue("str_id", Textbox1.Text);

                cmd.Parameters.AddWithValue("str_password", Textbox2.Text);

                cmd.ExecuteNonQuery();

                cmd.Cancel();

                conn.Close();

                //Response.Write(acoutchecknum); 若帳號在裡面則可以改動全域變數accountchecknum

                Response.Write("<script>window.alert(\"已成功新增!\");</script>");

            }
        }

相信之前有把前面文章看完的各位讀者一定對這裡的程式碼感到不陌生,甚至是非常熟悉,沒錯這裡的程式碼幾乎跟前面文章裡在教導關於(Insert)時的程式碼十分相似,只有一些東西稍微不一樣而已!!

首先我們先來看到GridView1.Visible = false;這一行是為了要將我們的第一個顯示查詢資料的資料表隱藏起來,畢竟若是沒有按查詢按鈕而出現了資料表,這樣也十分非常怪異!!那接下來我們就開始了我們這個按鈕的編寫,由於有許多內容是之前講過的,這裡筆者只會講述新的程式碼!!

if (CheckAccountOnlynum==1)
           {

               conn.Close();
               Response.Write("<script>window.alert(\"有重複的帳號名稱!\");</script>");
            
           }
           else
           {

               
               SqlCommand cmd = new SqlCommand(sqlstr, conn);

               cmd.Parameters.AddWithValue("str_id", Textbox1.Text);

               cmd.Parameters.AddWithValue("str_password", Textbox2.Text);

               cmd.ExecuteNonQuery();

               cmd.Cancel();

               conn.Close();

               //Response.Write(acoutchecknum); 若帳號在裡面則可以改動全域變數accountchecknum

               Response.Write("<script>window.alert(\"已成功新增!\");</script>");

           }

if這裡大家可以看到有一個筆者之前說的變數CheckAccountOnlynum,來知道是否有重複的帳號在裡面!若沒有則進入到我們的else裡去執行!!


上一篇
帳密系統程式實作(2)
下一篇
帳密系統程式實作(4)
系列文
ASP.NET & SQL Server30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言