基于C#实现宿舍管理系统

 更新时间:2022年06月08日 09:01:24   作者:一拳十个锵锵怪  
这篇文章主要介绍了如何利用C#语言开发一个简易的宿舍管理系统,文中的实现步骤讲解详细,对我们学习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#宿舍管理系统的资料请关注脚本之家其它相关文章!

相关文章

  • C#制作网站挂机程序的实现示例

    C#制作网站挂机程序的实现示例

    本文主要介绍了C#制作网站挂机程序,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • C# 8.0新特性介绍

    C# 8.0新特性介绍

    C# 语言是在2000发布的,至今已正式发布了7个版本,每个版本都包含了许多令人兴奋的新特性和功能更新。下面通过本文给大家分享下C# 8.0的三个令人兴奋的新特性,需要的朋友参考下吧
    2017-10-10
  • Unity UGUI的PhysicsRaycaster物理射线检测组件介绍使用

    Unity UGUI的PhysicsRaycaster物理射线检测组件介绍使用

    这篇文章主要介绍了Unity UGUI的PhysicsRaycaster物理射线检测组件的介绍及使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Silverlight实现星星闪烁动画

    Silverlight实现星星闪烁动画

    这篇文章主要为大家详细介绍了Silverlight实现星星闪烁动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • C#比较两个List集合内容是否相同的几种方法

    C#比较两个List集合内容是否相同的几种方法

    本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、排序后比较或HashSet来忽略重复元素,对于自定义类,需要重写Equals和GetHashCode方法,然后使用相应的比较方法
    2025-02-02
  • C#使用LINQ查询操作符实例代码(二)

    C#使用LINQ查询操作符实例代码(二)

    这篇文章介绍了C#使用LINQ查询操作符的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • c#linq里的Skip和Take实现分页或遍历

    c#linq里的Skip和Take实现分页或遍历

    LINQ的优势在于它提供了一种直观、类型安全的方式来操作各种类型的数据,查询常需要获取一部分数据,为了实现这一功能,LINQ提供了Take 和Skip运算符,Take运算符用于从一个序列中返回指定个数的元素,Skip运算符用于从一个序列中跳过指定个数的元素
    2024-01-01
  • C# DirectShow预览摄像头并截图

    C# DirectShow预览摄像头并截图

    这篇文章主要为大家详细介绍了C# DirectShow预览摄像头并截图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • C#中DateTime函数的详细用法

    C#中DateTime函数的详细用法

    这篇文章介绍了C#中DateTime函数的详细用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • winform导出dataviewgrid数据为excel的方法

    winform导出dataviewgrid数据为excel的方法

    这篇文章主要介绍了winform导出dataviewgrid数据为excel的方法,可实现将dataViewGrid视图中的数据导出为excel格式的功能,非常具有实用价值,需要的朋友可以参考下
    2015-01-01

最新评论