基於C#實現宿舍管理系統

前言

本次項目主要是因為我們的大作業要求要求,因為網上C#的資源不太多,因此我根據網上的資料制作瞭以下的小項目。

一、項目創建

首先通過創建C#的Windows窗體應用程序,名字可以自行設置,框架可以選用默認的。

二、主頁面設計

這是我的項目主頁面,主要包括4個Label類,3個Button類,2個radioButton1,1個pictureBox1。主要的設計界面就如圖所示。命名和圖片大傢可以自行的設置,通過對組件的Text屬性進行設置,radioButton具有一個Checked屬性,可以控制默認的多選框。(例如我的在用戶)

三、主頁面代碼

主頁面代碼主要包括驗證登錄信息,通過與SQL查詢來驗證用戶信息,以及打開對象的對話框。

1.登錄按鈕

首先我們寫一個Login的登錄方法用來判斷登錄,隨後會跳轉到別的窗口(會在下一次的教程中編寫)。代碼如下。

 public void Login() {
            
            //用戶
            if (radioButton1.Checked == true) {
                DataBase DB = new DataBase();
                string sql = $"select * from [User] where id='{textBox1.Text}' and password='{textBox2.Text}'" ;

                IDataReader dc = DB.read(sql);
                if (dc.Read())
                {
                    Data.UID = dc["id"].ToString();
                    Data.UName = dc["name"].ToString();


                    MessageBox.Show("登錄成功");
                    User1 user = new User1();
                    this.Hide();
                    user.ShowDialog();
                    this.Show();
         
                }
                else 
                {
                    MessageBox.Show("登陸失敗");
                
                }
                DB.Close();
               
             
            }
            //管理員
            if (radioButton2.Checked == true) {
                DataBase DB = new DataBase();
                string sql = $"select * from [Admin] where id='{textBox1.Text}' and password='{textBox2.Text}'";
                IDataReader dc = DB.read(sql);
                if (dc.Read())
                {
                    MessageBox.Show("登錄成功");
                    Admin1 admin = new Admin1();
                    this.Hide();
                    admin.ShowDialog();
                    this.Show();

                }
                else
                {
                    MessageBox.Show("登陸失敗");

                }
                DB.Close();



            }
           
        }

隨後雙擊登錄button,輸入以下代碼,用以判斷空值。

private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text != "" && textBox2.Text != "")
            {
                Login();
            }
            else
            {
                MessageBox.Show("輸入有空,請重新輸入");
            }
        }

2.退出按鈕

這個按鈕就沒啥難點直接上代碼瞭,雙擊退出Button。

private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

3.註冊按鈕

用以跳轉的按鈕,也是雙擊註冊Button,同樣的跳轉的窗口將在下次教程中講解。

private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

4.SQL配置

隨後我們的代碼裡還要新建一個DataBase.cs用以創建SQL連接。代碼如下。

using System.Data.SqlClient;

namespace HomeWork
{
    
    class DataBase
    {
        SqlConnection sc;
        public SqlConnection connect() {
      
            string str= @"Data Source=.;Initial Catalog=DormitoryDB;integrated security=true"; //位置(這個地方根據自己的需要修改)
            sc = new SqlConnection(str); //連接
            sc.Open(); //打開
            return sc; //返回對象
        }

        public SqlCommand command(string sql) {
            SqlCommand cmd = new SqlCommand(sql, connect());
            return cmd;
        }

        public int Execute(string sql) //更新 
        {
            return command(sql).ExecuteNonQuery();
        }
        public SqlDataReader read(string sql) //讀取
        {
            return command(sql).ExecuteReader();
        }

        public void Close() {
            sc.Close();
            
        }
    }
}

(1)SQL打開

代碼都有瞭但是SQL配置還未完成。首先你得安裝SQL數據庫打開

(2)SQL登錄

我用的是默認Windows身份驗證,也可以用管理員登錄。

(3)新建數據庫

登錄後新建一個數據庫,如下。

(3)新建數據表

之後根據自己的需要新建表格。我將我的數據表展示一下。(可能不太嚴謹因為我的水平也有限)

5.主頁總體代碼

還需要一個Data類用以保存用戶的ID等信息,便於後面的開發。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork
{
    class Data
    {
        public static string UID = "", UName = "";  //用戶名和ID
    }
}

using System;
using System.Data;
using System.Windows.Forms;

namespace HomeWork
{
    public partial class Index : Form
    {
        public Index()
        {
            InitializeComponent();
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text != "" && textBox2.Text != "")
            {
                Login();
            }
            else
            {
                MessageBox.Show("輸入有空,請重新輸入");
            }
        }

        //登錄方法
        public void Login() {
            
            //用戶
            if (radioButton1.Checked == true) {
                DataBase DB = new DataBase();
                string sql = $"select * from [User] where id='{textBox1.Text}' and password='{textBox2.Text}'" ;

                IDataReader dc = DB.read(sql);
                if (dc.Read())
                {
                    Data.UID = dc["id"].ToString();
                    Data.UName = dc["name"].ToString();


                    MessageBox.Show("登錄成功");
                    User1 user = new User1();
                    this.Hide();
                    user.ShowDialog();
                    this.Show();
         
                }
                else 
                {
                    MessageBox.Show("登陸失敗");
                
                }
                DB.Close();
               
             
            }
            //管理員
            if (radioButton2.Checked == true) {
                DataBase DB = new DataBase();
                string sql = $"select * from [Admin] where id='{textBox1.Text}' and password='{textBox2.Text}'";
                IDataReader dc = DB.read(sql);
                if (dc.Read())
                {
                    MessageBox.Show("登錄成功");
                    Admin1 admin = new Admin1();
                    this.Hide();
                    admin.ShowDialog();
                    this.Show();

                }
                else
                {
                    MessageBox.Show("登陸失敗");

                }
                DB.Close();



            }
           
        }


        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            register register = new register();
            register.ShowDialog();

        }
    }
}

以上就是基於C#實現宿舍管理系統的詳細內容,更多關於C#宿舍管理系統的資料請關註WalkonNet其它相關文章!

推薦閱讀: