用c#實現簡單的登入和註冊功能
阿新 • • 發佈:2018-12-31
這兩天c#大作業要求做一個簡單的通訊錄系統,我就先做了登入和註冊的功能,在網上看了一些程式碼,自己再做,終於做出來了。做的不是很美觀,但是可以簡單實現。
首先用sqlserver建表。我建了一個名為user_info的表,新增username和passdword兩個欄位。
建立登入頁面,改了一些控制元件的名稱,效果如下圖:
登入介面程式碼如下:
private void btn_Login_Click(object sender, EventArgs e) { try { if (txtUsn.Text.Trim() == "") { labMessage.Text = "使用者名稱不能為空"; txtUsn.Focus(); return; } else if (txtPwd.Text.Trim() == "") { labMessage.Text = "密碼不能為空!"; txtPwd.Focus(); return; } string sqlStr = "select username,passdword from user_info where
[email protected]"; DataSet ds = new DataSet(); MyMeans.conn.ConnectionString = MyMeans.connStr; MyMeans.conn.Open(); SqlCommand cmd = new SqlCommand(sqlStr, MyMeans.conn); cmd.Parameters.Add(new SqlParameter("@username", SqlDbType.VarChar, 50)); cmd.Parameters["@username"].Value = txtUsn.Text; SqlDataReader sdr = cmd.ExecuteReader(); if (!sdr.Read()) { labMessage.Text = "使用者名稱不存在!請重新輸入"; txtUsn.Text = ""; txtPwd.Text = ""; txtUsn.Focus(); } else if (sdr["passdword"].ToString().Trim() == txtPwd.Text.Trim()) { MessageBox.Show("恭喜您已成功登入", "確定",MessageBoxButtons.OK,MessageBoxIcon.Asterisk); F_AddressList faddlistfrm = new F_AddressList(); faddlistfrm.ShowDialog(); } else { labMessage.Text = "密碼錯誤!請重新輸入!"; txtUsn.Text = ""; txtPwd.Text = ""; } }
註冊介面程式碼如下:
private void button1_Click(object sender, EventArgs e) { if(txt_username.Text=="") { MessageBox.Show("使用者名稱不能為空!"); } if(txt_pwd.Text=="") { MessageBox.Show("密碼不能為空!"); } if(txt_pwd2.Text=="") { MessageBox.Show("確認密碼不能為空!"); } if(txt_pwd.Text!=txt_pwd2.Text) { MessageBox.Show("密碼和確認密碼不相符!"); txt_pwd.Text= ""; txt_pwd2.Text = ""; } try { string sql = string.Format("select count(*) from user_info where username='{0}'", txt_username.Text); SqlCommand cmd = new SqlCommand(sql, MyMeans.conn); MyMeans.conn.Open(); int a = (int)cmd.ExecuteScalar();//返回一個值,看使用者是否存在 StringBuilder strsql = new StringBuilder(); if (a==0) { strsql.Append("insert into user_info(username,passdword)"); strsql.Append("values("); strsql.Append("'" + txt_username.Text.Trim().ToString() + "',"); strsql.Append("'" + txt_pwd.Text.Trim().ToString() + "'"); strsql.Append(")"); using (SqlCommand cmd2 = new SqlCommand(strsql.ToString(), MyMeans.conn)) { cmd2.ExecuteNonQuery(); } MessageBox.Show("註冊成功!", "資訊提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); this.Close(); } else { MessageBox.Show("使用者已存在!", "資訊提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); this.Close(); } } catch(Exception ex) { MessageBox.Show(ex.ToString()); Application.Exit(); } finally { MyMeans.conn.Close(); MyMeans.conn.Dispose(); } }
在學校大部分只是學習理論,實踐比較少,難得有機會可以動手做一下,雖然剛開始覺得一些東西不知道怎麼用,也不知道怎麼去寫,查一些書,看一些別人的程式碼,照著寫一寫,認真理解,最後就能做出來,收穫也挺大的。