• 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=MHZHANGSQLEXPRESS;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的方式,也有其他的方法。

  • 相关阅读:
    1101-Trees on the Level
    1099-移动小球
    1096-组合数
    Windows环境配置Apache+Mysql+PHP
    ArtDialog简单使用示例
    实现数字与字母的随机数
    SQLServer2005:在执行批处理时出现错误。错误消息为: 目录名无效
    sql语句总结
    在SQL SErver中实现数组功能
    aspnet_regiis.exe 的用法
  • 原文地址:https://www.cnblogs.com/xingzhui/p/6129974.html
Copyright © 2020-2023  润新知