C#基礎——系統登錄功能的實現


一般的登陸界面,都是利用用戶名和密碼在數據庫的匹配關系,來實現登陸的跳轉功能。

首先介紹用戶數據表的設計。

其中ID列需要設置好增量標識,隨着用戶的增加,ID的值遞增,避免重復。

 

然后是C#中對數據庫的操作類。

 1    class DataBase
 2     {
 3         public static string Login_ID = "";
 4         public static string Login_Name = "";
 5         public static SqlConnection My_Conn;
 6         public static string openConnstr = @"Data Source=MHZHANG\SQLEXPRESS;Database=db_zmh;User id=XXXX;PWD=XXXXXXXX";
 7 
 8         public static SqlConnection getcon()
 9         {
10             My_Conn = new SqlConnection(openConnstr);
11             My_Conn.Open();
12             return My_Conn;
13         }
14 
15         public void con_open()
16         {
17             getcon();
18         }
19 
20 
21         public void conn_close()
22         {
23             if (My_Conn.State == ConnectionState.Open)
24             {
25                 My_Conn.Close();
26                 My_Conn.Dispose();
27             }
28         }
29 
30         public SqlDataReader getsdr(string sqlstr)
31         {
32             getcon();
33             SqlCommand My_com = My_Conn.CreateCommand();
34             My_com.CommandText = sqlstr;
35             SqlDataReader My_Reader = My_com.ExecuteReader();
36             return My_Reader;
37         }
38 
39         public void dosqlcom(string sqlstr)
40         {
41             getcon();
42             SqlCommand sqlcom = new SqlCommand(sqlstr, My_Conn);
43             sqlcom.ExecuteNonQuery();
44             sqlcom.Dispose();
45             conn_close();
46         }
47 
48         public DataSet getDs(string sqlstr, string tableName)
49         {
50             getcon();
51             SqlDataAdapter sqlda = new SqlDataAdapter(sqlstr, My_Conn);
52             DataSet My_DataSet = new DataSet();
53             sqlda.Fill(My_DataSet, tableName);
54             conn_close();
55             return My_DataSet;
56         }
57 
58 
59     }

對數據庫的鏈接方式個人有所不同,僅供參考。

最后是登陸窗體的代碼實現:

 1     public partial class Form_Login : Form
 2     {
 3         DataBase userDB = new DataBase();
 4         public Form_Login()
 5         {
 6             InitializeComponent();
 7         }
 8 
 9         private void btn_Login_Click(object sender, EventArgs e)
10         {
11             if (tb_UserName.Text != "" & tb_UserPwd.Text != "")
12             {
13                 SqlDataReader temdr = userDB.getsdr("select * from tb_UserList where UserName='" + tb_UserName.Text.Trim() + "' and UserPwd='" + tb_UserPwd.Text.Trim() + "'");
14                 bool ifcom = temdr.Read();
15                 if (ifcom)
16                 {
17                     Form_Main frmMain = new Form_Main();
18                     frmMain.Show();
19                     this.Hide();
20                 }
21                 else
22                 {
23                     MessageBox.Show("用戶名或密碼錯誤!");
24                     tb_UserName.Text = "";
25                     tb_UserPwd.Text = "";
26                 }
27                 userDB.conn_close();
28             }
29             else
30                 MessageBox.Show("請填寫用戶名和密碼!");
31             
32         }
33 
34         private void Form_Login_Load(object sender, EventArgs e)
35         {
36             try
37             {
38                 userDB.con_open();
39                 userDB.conn_close();
40                 tb_UserName.Text = "";
41                 tb_UserPwd.Text = "";
42             }
43             catch
44             {
45                 MessageBox.Show("數據庫連接錯誤!");
46                 Application.Exit();
47             }
48         }
49 
50         private void Form_Login_Activated(object sender, EventArgs e)
51         {
52             tb_UserName.Focus();
53         }
54 
55         private void btn_Quit_Click(object sender, EventArgs e)
56         {
57             Application.Exit();
58         }
59     }

判斷用戶在數據表中存在的方法是利用SQLDataReader的方式,也有其他的方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM