本期概述
前幾期為了方便登入系統,我們手動的在資料庫裡添加了使用者名稱和密碼,並沒有實現在系統中進行使用者註冊.那麼,這一期我們一起來實現下使用者註冊功能.
原理
原理很簡單, 首先判斷使用者名稱是否已經存在於資料庫中, 執行sql select語句將擷取文字框中的使用者名稱,然後通過SqlDataReader對資料庫裡的資料進行逐行讀取並判斷資料庫中是否已存在相同的使用者名稱.如果存在,則禁止註冊;如果不存在,則對使用者輸入的密碼以及密碼確認分別進行判斷,如果都滿足條件(2次密碼輸入相同等),則執行SQL插入語句,將註冊的使用者名稱和密碼插入資料庫.
首先,我們需要在 系統主介面 增加一個跳轉到 使用者註冊表單 的按鈕.
使用者註冊name: tsbRegistration
在該按鈕的單擊事件下 添加如下代碼(用於表單跳轉).
private void tsbRegistration_Click(object sender, EventArgs e) { //new一個 使用者註冊表單對象 FrmRegistration registration = new FrmRegistration(); //顯示 使用者註冊表單 registration.Show(); //隱藏當前表單(主介面) this.Hide(); }
之後,我們來設計下 使用者註冊 表單
建立一個使用者註冊表單 FrmRegistration.cs 介面設計如下
文字框 使用者名稱name:txtUid 密碼name:txtPwd 密碼確認name:txtPwdConfirm
文字框右邊的使用者密碼輸入提示label框 使用者名稱提示name:lblUidMsg 密碼提示name:lblPwdMsg 密碼確認name:lblPwdConfirmMsg
按鈕 註冊name:btnOK 返回name:btnBack
使用者註冊表單代碼
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Configuration;using System.Data.SqlClient;/******************************************************* ** 作者: SoFlash - 部落格園 http://www.cnblogs.com/longwu ** 描述: FrmRegistration.cs 使用者註冊表單 ******************************************************/namespace 電影記錄管理系統{ public partial class FrmRegistration : Form { public FrmRegistration() { InitializeComponent(); } //連接字串, 擷取設定檔App.config裡的字串"str" static string connStr = ConfigurationManager.ConnectionStrings["str"].ConnectionString; private void btnOK_Click(object sender, EventArgs e) { //否則判斷 目前使用者名在資料庫中是否存在 //使用sql select語句 按 使用者文字框中的常值內容 來選取資料庫中的使用者名稱 string sql = "select MUserName from MovieAccount where MUserName='" + txtUid.Text + "'"; //建立SQL 資料庫串連 SqlConnection conn = new SqlConnection(connStr); //使用SQL cmd指令來裝載 sql查詢語句和資料庫連接 SqlCommand cmd = new SqlCommand(sql, conn); //執行操作前 需要開啟資料庫連接 conn.Open(); //使用SqlDataReader 對cmd 執行讀取指令的資料 進行逐行讀取 SqlDataReader sdr = cmd.ExecuteReader(); //如果讀到資料了,說明 資料庫中已存在 文字框中輸入的使用者名稱 if (sdr.Read()) { //如果讀到相同的使用者名稱 則提示 使用者名稱已存在 lblUidMsg.Text = "使用者名稱已存在,請重新輸入!"; return; } //如果使用者名稱不存在 則判斷下使用者名稱密碼是否為空白 else if (txtUid.Text.Trim() == "") { //如果使用者名稱 不為空白, 將提示句賦給label框 並在表單上 lblUidMsg.Text = "使用者名稱不可為空!"; } //判斷密碼是否為空白 else if (txtPwd.Text.Trim() == "") { //同理 lblPwdMsg.Text = "密碼不可為空!"; //同時清除 使用者名稱 提示框的內容 lblUidMsg.Text = ""; } //判斷再次輸入密碼是否為空白 else if (txtPwdConfirm.Text.Trim() == "") { //同理 lblPwdConfirmMsg.Text = "驗證密碼不可為空!"; //同時清除 使用者名稱 提示框 和 第一次密碼輸入提示框的內容 lblUidMsg.Text = ""; lblPwdMsg.Text = ""; } //判斷2次密碼輸入是否相同 else if (txtPwd.Text.Trim() != txtPwdConfirm.Text.Trim()) { //同理 lblPwdMsg.Text = "2次密碼必須一樣!"; lblPwdConfirmMsg.Text = "請重新輸入!"; return; } else //如果通過上述檢測,則進行賬戶 密碼插入資料庫操作 { //清空上面所有label框的提示 lblUidMsg.Text = ""; lblPwdMsg.Text = ""; lblPwdConfirmMsg.Text = ""; //如果 使用者名稱是否存在於 資料庫判斷完了 則關閉資料庫連接(節省資源) conn.Close(); //使用sql 資料插入語句 string sqlInsert = "insert into MovieAccount(MUserName,MUserPwd) values(@MUserName,@MUserPwd)"; //使用1個SQL參數數組 來裝載 需要插入的資料 SqlParameter[] param = { new SqlParameter("@MUserName",txtUid.Text), new SqlParameter("@MUserPwd",txtPwd.Text) }; //使用 SQL資料庫連接 SqlConnection connInsert = new SqlConnection(connStr); //使用SQL command 指令來裝載 SQL查詢語句和SQL資料庫連接 SqlCommand cmdInsert = new SqlCommand(sqlInsert, connInsert); //再次開啟資料連線 執行插入資料操作 connInsert.Open(); //使用cmd指令 添加所有參數 cmdInsert.Parameters.AddRange(param); //定義一個整型變數 用於接受 cmd的 執行查詢指令(cmd的ExcuteNonQuery()方法傳回值為一個整型) int n = cmdInsert.ExecuteNonQuery(); //判斷該值是否為空白, 如果為空白, 說明插入資料失敗 if (n == 0) { MessageBox.Show("註冊失敗!,請重新輸入"); //插入失敗就不再繼續運行,返回 return; } else { //否則 資料插入成功 MessageBox.Show("註冊成功!"); } //關閉資料庫連接 connInsert.Close(); } } //返回主表單 private void btnBack_Click(object sender, EventArgs e) { //new一個主表單對象 FrmMain main = new FrmMain(); //跳轉到主表單 main.Show(); //隱藏當前表單 this.Hide(); } }}
代碼寫好了,我們來測試下 使用者註冊功能.
這樣,我們的使用者註冊功能就完成了. 下一期,我們將共同學習下資訊管理系統中最常見的功能-資料搜尋.
附上原始碼
MovieRecordManagementSystem05.zip
相關推薦 [點此查看目錄]
- C#簡易電影記錄管理系統:開發一[使用者登入]
- C#簡易電影記錄管理系統:開發二[增刪改查]
- C#簡易電影記錄管理系統:開發三[密碼修改]
- C#簡易電影記錄管理系統:開發四[日誌查看]
- C#簡易電影記錄管理系統:開發六[資料搜尋]
- C#簡易電影記錄管理系統:開發七[使用者分類]
- C#簡易電影記錄管理系統:開發八[資料備份]
- C#簡易電影記錄管理系統:開發九[資料恢複]
- C#簡易電影記錄管理系統:完結篇[許可權分配]