基于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#宿舍管理系统的资料请关注脚本之家其它相关文章!

相关文章

  • Unity3D使用陀螺仪控制节点旋转

    Unity3D使用陀螺仪控制节点旋转

    这篇文章主要为大家详细介绍了Unity3D使用陀螺仪控制节点旋转,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • 基于C#生成随机数示例

    基于C#生成随机数示例

    这篇文章主要介绍了基于C#生成随机数的类文件,可作为公共库供其他文件调用,需要的朋友可以参考下
    2014-07-07
  • 猜数字小游戏C#实现代码

    猜数字小游戏C#实现代码

    这篇文章主要为大家详细介绍了C#实现猜数字小游戏的代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • C#中abstract的用法详解

    C#中abstract的用法详解

    abstract可以用来修饰类,方法,属性,索引器和时间,这里不包括字段. 使用abstrac修饰的类,该类只能作为其他类的基类,不能实例化,而且abstract修饰的成员在派生类中必须全部实现,不允许部分实现,否则编译异常
    2016-12-12
  • C#画圆角矩形的方法

    C#画圆角矩形的方法

    这篇文章主要介绍了C#画圆角矩形的方法,涉及C#绘图的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-05-05
  • 利用C#实现记事本的功能的示例代码

    利用C#实现记事本的功能的示例代码

    这篇文章主要为大家详细介绍了如何利用C#实现简单的记事本的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12
  • C#托管堆对象实例包含内容分析

    C#托管堆对象实例包含内容分析

    这篇文章主要介绍了C#托管堆对象实例包含内容,实例展示了托管对象的结构及运行原理,需要的朋友可以参考下
    2014-09-09
  • 使用C#来编写一个异步的Socket服务器

    使用C#来编写一个异步的Socket服务器

    这篇文章主要介绍了使用C#来编写一个异步的Socket服务器,通过无阻塞机制来获取更高的处理效率,需要的朋友可以参考下
    2015-07-07
  • 详解C# 枚举高级用法之Description

    详解C# 枚举高级用法之Description

    这篇文章主要介绍了C# 枚举高级用法之Description,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 深入解析C#设计模式编程中对建造者模式的运用

    深入解析C#设计模式编程中对建造者模式的运用

    这篇文章主要介绍了C#设计模式编程中对建造者模式的运用,文中还介绍了在.NET框架下建造者模式编写思路的实现,需要的朋友可以参考下
    2016-02-02

最新评论