期末作业C#实现学生宿舍管理系统

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 由于快期末考了,需要提交一份C#开发的管理系统,这里选择可视化开发,管理系统无非就是增、删、查、改,可以使用接口完成查询、删除等等…这里直接用自带的封装方法进行增删查改,本文做一个记录,也作为一次开发经历,需要完整项目的可以选择付费支持,文末会放出链接,文章还在更新6.12成品:admin表用户表连接数据库(注意修改以下配置)查询语句插入语句删除语句登录设计登录页面设计这里我们通过可视化工具进行设计,新建一个窗口为FORM1这是设计出来的样子现在更换左上角图标,首先打开我们需要用的

🚀开发背景

优化移步:
《c#中在datagridview的表格动态增加一个按钮方法》
《C#实现多窗口切换:Panel详细教程(亲测)》


文章还在更新,上次更新时间2022/06/20 20:49
由于快期末考了,需要提交一份C#开发的管理系统,这里选择可视化开发,管理系统无非就是增、删、查、改,可以使用接口完成查询、删除等等..这里直接用自带的封装方法进行增删查改,本文做一个记录,也作为一次开发经历,需要完整项目的可以选择付费支持,文末会放出链接

成品:
在这里插入图片描述

🚀 工具准备

工具名称 说明
phpstudy 包含Mysql5.7.26 点我下载

Microsoft Visual Studio 2010
icon生成工具|http://www.51tool.com/ico/

需要引用数据库MySql.data|点我下载

🚀 数据库添加引用

由于本项目使用的是MySql进行连接,C#需要下载一个dll文件来进行引用,才可以在代码中使用,通上网搜索或者 点我下载

下载文件如图所示:
在这里插入图片描述
将该文件丢入项目文件夹中,然后在Microsoft Visual Studio 2010的解决方案资源管理器中的引用右键点击添加
在这里插入图片描述

(选择MySql.Data所在的路径添加即可,引用成功后如下图所示)
在这里插入图片描述

在后面的代码中我们只需引用即可:

using System.Data.SqlClient;
using MySql.Data.MySqlClient;
using MySql.Data;

数据库环境配置

首先下载好phpstudy,在上文部分工具可以下载,安装略过

1、打开phpstudy
在这里插入图片描述
2、开启数据库和ApaChe
在这里插入图片描述
3、在软件管理中下载phpmyadmin
在这里插入图片描述
4、打开数据库并建立数据表
打开首页的数据库工具(选择phpmyadmin)
在这里插入图片描述
输入账号密码登陆进去(默认root root 我这里因为改过所以我的是123456,大家可以去左侧数据库修改)
在这里插入图片描述
[2022/06/14]由于文章是在一点点更新的,后面增加的数据表就在对应文章中写入,下面的是用户登录、注册以及供用户列表显示
新建demo数据库,并在该数据库建立两个数据表:admin、user
在这里插入图片描述
admin表字段设计如下:
在这里插入图片描述
user表字段设计如下:
在这里插入图片描述
这里仅仅放入两个表,完整项目请下载代码


登录设计

登录页面设计

这里我们通过可视化工具进行设计,新建一个窗口为FORM1这是设计出来的样子
在这里插入图片描述

更换窗口图标方法

现在更换左上角图标,首先打开我们需要用的icon网站,生成后下载转换文件保存到本地
在这里插入图片描述
对窗体右键属性更换默认图标

在这里插入图片描述
更换好了之后
在这里插入图片描述


登录功能设计

双击登录按钮
在这里插入图片描述
在该点击事件中,加入代码(代码中有注释自己看哈)

 //登录
            var db_name = "admin";

            //数据插入
            //MySqlCommand mycmd = new MySqlCommand("INSERT INTO `admin` (`id`, `username`, `password`) VALUES (NULL, 'www', 'wwww');", mycon);
            //if (mycmd.ExecuteNonQuery() > 0)
            //{
            //    MessageBox.Show("修改成功!");
           // }

            //检查
            if (textBox1.Text == "" || textBox2.Text == "")
            {
                MessageBox.Show("请检查输入是否完整!");
            }
           
            else { 
            //配置数据库
               // string constr = "Database=cshap;Data Source=49.234.42.125;port=888;User Id=cshap;Password=123456";
            
                string constr = "server=127.0.0.1;port=3306;User Id=root;password=123456;Database=demo";
                //连接数据库
                MySqlConnection mycon = new MySqlConnection(constr);
                mycon.Open();
                //输入数据命令;
                //数据插入

                if (radioButton1.Checked == false)
                {
                    db_name = "user";
                }

                MySqlCommand mycmd = new MySqlCommand("SELECT * FROM `" + db_name + "` WHERE `username`='" + textBox1.Text + "' and password='" + textBox2.Text + "'", mycon);

                if (Convert.ToInt32(mycmd.ExecuteScalar()) > 0)
                {
                    //MessageBox.Show("登陆成功!");
                    //判断跳转界面

                    if (db_name == "admin")
                    {
                        //管理端
                        Form2 f = new Form2();
                        this.Hide();
                        f.ShowDialog();
                        this.Show();
                    }
                    else { 
                    //用户端
                    
                    }
                }
                else {
                    MessageBox.Show("账号或密码、登录身份错误!");
                }
                Console.ReadLine();
                mycon.Close();



            //       

窗体之间相互跳转方法

                Form2 f = new Form2();  //实例化跳转窗口
                this.Hide(); 
                f.ShowDialog();
                this.Show();

注册设计

新建FORM3窗口设计如下
在这里插入图片描述
双击注册添加代码:

  //注册操作
            //检查
            if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "")
            {
                MessageBox.Show("请检查输入是否完整!");
            }
            else if(textBox2.Text != textBox3.Text)
            {
                MessageBox.Show("两次密码不一致");
            
            }
            else
            {
                //配置数据库
                string constr = "server=localhost;User Id=root;password=123456;Database=demo";
                //连接数据库
                MySqlConnection mycon = new MySqlConnection(constr);
                mycon.Open();
                //输入数据命令;
                //数据插入

                MySqlCommand mycmd = new MySqlCommand("INSERT INTO `user` (`id`, `username`, `password`, `room_num`) VALUES (NULL, '" + textBox1.Text + "', '" + textBox2.Text + "', '" + textBox4.Text + "');", mycon);
            if (mycmd.ExecuteNonQuery()> 0)
            {
                MessageBox.Show("注册成功!");
                Form1 f = new Form1();
                this.Hide();
                f.ShowDialog();
                this.Show();
            }
               
                else
                {
                    MessageBox.Show("账号或密码、登录身份错误!");
                }
                Console.ReadLine();
                mycon.Close();
            }

项目功能设计

后台管理界面

在这里插入图片描述


用户管理

创建一个dataGridView1视图,添加字段后如下所示

注意:在新的优化界面中我将该部分窗体重新放到了用户控件中去了,通过panel完成跳转交互,优化用户体验,如果需要更改优化的同学,可以看优化部分(2022/06/14修改)

在这里插入图片描述


添加用户

在这里插入图片描述
在添加用户方法中添加代码(双击“添加用户添加代码”),即从账号、密码、宿舍号获取值,再通过语句进行插入到数据库,具体操作方法:添加记录到本地后,添加进数据库,
本地假数据的添加代码为:

 //添加数据到本地dataGridView1
//本地
int index = this.dataGridView1.Rows.Add();
this.dataGridView1.Rows[index].Cells[0].Value = "NULL";
this.dataGridView1.Rows[index].Cells[1].Value = "1111";
this.dataGridView1.Rows[index].Cells[2].Value = "222";
this.dataGridView1.Rows[index].Cells[3].Value = "333";

可以先通过假数据测试按钮是否加入了数据,加入了的话我们在通过连接数据库来进行一个遍历插入,即下方的代码
完整代码:

//添加用户
//修改本地 和数据库
//本地
int index = this.dataGridView1.Rows.Add();
this.dataGridView1.Rows[index].Cells[0].Value = "NULL";
this.dataGridView1.Rows[index].Cells[1].Value = textBox1.Text;
this.dataGridView1.Rows[index].Cells[2].Value = textBox2.Text;
this.dataGridView1.Rows[index].Cells[3].Value = textBox3.Text;

            //修改方法
            //dataGridViewInfo.Rows[i].Cells[0].Value = name;//更新名称
            //dataGridViewInfo.Rows[i].Cells[1].Value = status;//更新状态

            //   dataGridView.Rows.Remove(dataGridView.SelectedRows[0]);  //删除一行

            //插入数据库同步

            //配置数据库
            string constr = "server=localhost;User Id=root;password=123456;Database=demo";
            //连接数据库
            MySqlConnection mycon = new MySqlConnection(constr);
            mycon.Open();
            //输入数据命令;
            //数据插入

            MySqlCommand mycmd = new MySqlCommand("INSERT INTO `user` (`id`, `username`, `password`,`room_num`) VALUES (NULL, '" + textBox1.Text + "', '" + textBox2.Text + "', '" + textBox3.Text + "');", mycon);
            if (mycmd.ExecuteNonQuery() > 0)
            {
                MessageBox.Show("添加成功!");
                this.dataGridView1.Refresh();  
                //刷新显示
            }

            else
            {
                MessageBox.Show("添加失败!");
            }
            Console.ReadLine();
            mycon.Close();

删除

与插入不同,这里需要对dataGridView1做一个获取,需要获取id值,来进行删除,首先新建一个“删除”按钮
在这里插入图片描述
双击在该方法中加入代码(这部分代码很关键,建议看懂,在开发中我找到另外一个方法不过他存在bug,这个无论有没有值不会报错)

 //删除
int index = dataGridView1.SelectedCells[0].RowIndex;
//获取所在行
var aa = dataGridView1.Rows[index].Cells[0].Value;
//获取所在行第一列的元素
dataGridView1.Rows.RemoveAt(index);
MessageBox.Show(aa.ToString());

这一步的作用是获取到鼠标选中所在行的第一列元素的值,也就是id值,并删除当前行
我们测试下:
在这里插入图片描述
接下来,只需要把获取到的id => 6 进行sql语句操作即可
完整代码:

  //删除
int index = dataGridView1.SelectedCells[0].RowIndex;
//获取所在行
var aa = dataGridView1.Rows[index].Cells[0].Value;
//获取所在行第一列的元素
dataGridView1.Rows.RemoveAt(index);
//MessageBox.Show(aa.ToString());
//本地删除
//联网删除
//配置数据库
string constr = "server=localhost;User Id=root;password=123456;Database=demo";
            //连接数据库
            MySqlConnection mycon = new MySqlConnection(constr);
            mycon.Open();
            //输入数据命令;
            //数据插入

            MySqlCommand mycmd = new MySqlCommand("DELETE FROM `user` WHERE `id` = '"+aa+"'", mycon);
            if (mycmd.ExecuteNonQuery() > 0)
            {
                MessageBox.Show("删除成功!");
                this.dataGridView1.Refresh();  
                //刷新显示
            }

            else
            {
                MessageBox.Show("删除失败!");
            }
            Console.ReadLine();
            mycon.Close();

修改

新建一个窗口(在资源管理器右键),命名为FORM5,用于点击修改时,弹出一个窗口供用户修改,设计图如下:
在这里插入图片描述
设计好后,回到Form4中,刚刚不是设计了删除嘛,修改和删除一样,先获取id值就可以,所以步骤是一样的,新建一个修改按钮,如下图所示:
在这里插入图片描述
双击后我们在该点击事件加入获取id的代码(和刚刚的一样):

 //修改
int index = dataGridView1.SelectedCells[0].RowIndex;
//获取所在行
var aa = dataGridView1.Rows[index].Cells[0].Value;
//获取所在行第一列的元素
MessageBox.Show(aa.ToString());

接下来需要把id传给Form5窗口,我们在这里了解下通过构造函数传值

特点:传值是单向的(不可以互相传值),实现简单

接收窗体需要如下代码:
(这里的id为string是因为我们在dataGridView1获取到的值类型为string所以这里我们用字符串接收,搞错类型就会报错红)

在这里插入图片描述

         string id;
        public Form5(string value1)
        {
            InitializeComponent();
            this.id = value1;
            MessageBox.Show(id.ToString());
        }
传递窗体调用即可
new Form5(aa.ToString()).Show();

根据传过来的id进行查询最后显示到控件上去
这里接收到参数后演示图如下:
在这里插入图片描述

完整From5代码如下(注意上方代码举例需要全部写完才不会报错):

public Form5(string value1)
        {
            InitializeComponent();
            this.id = value1;
            //MessageBox.Show(id.ToString());
            //配置数据库
            string constr = "server=localhost;User Id=root;password=123456;Database=demo";
            //连接数据库
            MySqlConnection mycon = new MySqlConnection(constr);
            mycon.Open();
            //输入数据命令;
            MySqlCommand mycmd = new MySqlCommand("SELECT * FROM `user` where id=" + id + "", mycon);
            MySqlDataReader rec = mycmd.ExecuteReader();
            while (rec.Read())
            {

                label5.Text = rec[0].ToString();
                textBox1.Text = rec[1].ToString();
                textBox2.Text = rec[2].ToString();
                textBox3.Text = rec[3].ToString();

            }
           
        }

成功截图
在这里插入图片描述

实现保存

在From5中新建保存按钮,双击后,在该按钮中添加点击事件
在这里插入图片描述
首先获取id、账号、密码、宿舍号

             var id = label5.Text;
            var zh = textBox1.Text;
            var mm = textBox2.Text;
            var ss = textBox3.Text;

建立sql语句

MySqlCommand mycmd = new MySqlCommand("UPDATE `user` SET `username` = '', `password` = '', `room_num` = '' WHERE `id` = 1;", mycon);

完整代码:


            var id = label5.Text;
            var zh = textBox1.Text;
            var mm = textBox2.Text;
            var ss = textBox3.Text;
            //配置数据库
            string constr = "server=localhost;User Id=root;password=123456;Database=demo";
            //连接数据库
            MySqlConnection mycon = new MySqlConnection(constr);
            mycon.Open();
            //输入数据命令;
            //数据插入

            MySqlCommand mycmd = new MySqlCommand("UPDATE `user` SET `username` = '"+zh+"', `password` = '"+mm+"', `room_num` = '"+ss+"' WHERE `id` = '"+id+"';", mycon);
            if (mycmd.ExecuteNonQuery() > 0)
            {
                MessageBox.Show("修改成功!");
              
                //刷新显示
            }

            else
            {
                MessageBox.Show("修改失败!");
            }
            Console.ReadLine();
            mycon.Close();

成功截图
在这里插入图片描述

△钥匙借出登记

[2022/06/14] 在完成设计之前我们需要分析下,钥匙借出登记需要些什么字段:

borrow表:

字段 说明 类型
id 自增 int(11)
user_id 对应User表中的id绑定,为了识别用户方便进行连表查询 varchar(20)
d_time 钥匙借出时间 datetime
is_give 是否归还,0未归还1归还 int(11)

我们将钥匙借阅登记表在数据库新建为borrow

流程:在管理员点击钥匙借出登记时,显示出借阅登记id、学生姓名、宿舍号、借出时间、是否归还,我们只需要通过user_id去user表中查询其他信息即可,所以borrow表中的user_id需要和user表中的id对应绑定(很多同学在设计时会将多个重复信息放在同一个表中,如果在borrow表中加入了room_num字段这样的话就不方便修改了,因为这时同一个字段会在多个表中,不利于修改,大家一定要明白这点,可以配合下图参照理解这句话)

user表:
在这里插入图片描述

ok分析完毕,我们来设计数据库

1、打开phpmyadmin我们新建数据表borrow,并按照下图第三步完成修改后保存

在这里插入图片描述

2、设计好后我们查看下

在这里插入图片描述

3、我们在数据中运行语句

INSERT INTO `borrow` (`id`, `user_id`, `d_time`, `is_give`) VALUES (NULL, '1', CURRENT_TIMESTAMP, '0');

(上面的user_id为1是因为我的user表中有一个id为1的用户,我们先用假数据显示,后面再通过前端完成借阅操作)

4、设计用户控件

①打开【解决方案资源管理器】在项目中右键【添加】 【用户控件】
在这里插入图片描述
②然后修改下窗体大小和之前的一样,这样在切换过程中就不会感觉框的变化在这里插入图片描述
③设计可视化窗体(根据自己的需求自己来)
我们添加一个datagridview,然后对图中阴影部分右键【编辑列】
在这里插入图片描述
编辑列在添加id、学生姓名、宿舍号、借出时间、是否归还在这里插入图片描述
设计好后如下图
在这里插入图片描述

5、绑定主页面实现跳转(从Form2)

实现图:
在这里插入图片描述
①首先打开Form2的视图,双击【钥匙借阅登记】按钮
②双击后在本页面添加代码

在窗体部分输入:

public UserControl4 f4; //钥匙借阅登记

在窗体加载处输入:

  f4 = new UserControl4();    //钥匙借阅登记

添加后如图所示:
在这里插入图片描述

在【钥匙借阅登记】按钮处添加

             f4.Show();   //将窗体一进行显示
            panel2.Controls.Clear();    //清空原容器上的控件
            panel2.Controls.Add(f4);    //将窗体一加入容器panel2

添加后如图所示:
在这里插入图片描述
编译运行代码成功截图:
在这里插入图片描述

6、显示数据

我们找到刚刚创建好的UserControl4.cs文件,双击此处

在这里插入图片描述

在UserControl4_Load方法处添加如下代码:

 //配置数据库
            string constr = "server=localhost;User Id=root;password=123456;Database=demo";
            //连接数据库
            MySqlConnection mycon = new MySqlConnection(constr);
            mycon.Open();
            //输入数据命令;
            //数据插入



            MySqlCommand mycmd = new MySqlCommand("SELECT * FROM `borrow`", mycon);
            MySqlDataReader rec = mycmd.ExecuteReader();
            while (rec.Read())
            {

                int index = this.dataGridView1.Rows.Add();
                this.dataGridView1.Rows[index].Cells[0].Value = rec.GetInt32(0);
                this.dataGridView1.Rows[index].Cells[1].Value = rec[1];
                this.dataGridView1.Rows[index].Cells[2].Value = rec[2];
                this.dataGridView1.Rows[index].Cells[3].Value = rec[3];
                this.dataGridView1.Rows[index].Cells[4].Value = rec[4];

            }

写好以后,这里出现了报红的错误,遇到报红不要慌
在这里插入图片描述

解决办法:引用mysql数据库文件

using System.Data.SqlClient;
using MySql.Data.MySqlClient;
using MySql.Data;

添加后如图:
在这里插入图片描述

我们运行看结果
在这里插入图片描述

7、关联表查询

为了解决上面图片蓝色字体[上面的学生姓名和宿舍号,需要用user_id去user表里面查询]
所以我们需要用到sql语法使两个表关联起来(user_id对应id)
对这个SQL语句不懂的同学看这个:
在这里插入图片描述

我门再将之前的数据表拿出来对照
User表
在这里插入图片描述
borrow表
在这里插入图片描述

手写SQL语句:

SELECT b.id,u.username,u.room_num,b.d_time,b.is_give from demo.borrow b inner join demo.user u on b.user_id=u.id

在sql运行成功:
在这里插入图片描述


宿舍卫生打分

与上面一样,不做赘述


电梯保修记录

与上面一样,不做赘述


优化

这部分是对项目进行个优化

窗体优化

在整个项目中窗体太多不美观,如果能实现点击按钮直接显示就能提升用户体验性,可参考这篇文章
C#实现多窗口切换:Panel详细教程(亲测)

对项目完成优化后效果如下:
[video(video-bzwEbKH4-1655182528689)(type-csdn)(url-https://live.csdn.net/v/embed/216189)(image-https://video-community.csdnimg.cn/vod-84deb4/4b447dfba09b465fae056ff52b2ddd8d/snapshots/dc0144621aed4389b86ead97d7385045-00001.jpg?auth_key=4808728721-0-0-4f7afc20f954b54a34190644fafe6be2)(title-20220613_215754)]


重点难点讲解

这部分对全文做一个归纳,防止有的地方遗漏了,如果你有疑问可以看这里!

如果做到修改删除? 答:通过表单传值记录id在新的一个窗口查询一次数据,更新则是用了update

如果做到删除? 答:通过表单传值获取到的id进行数据库语句删除,删除本地的再删除数据库里面的

窗口如何传值:
本次通过构造函数,特点:传值是单向的(不可以互相传值),实现简单

实现代码如下:

在目标窗体中

int value1;

string value2;

public Form2 ( int value1 , string value2 )

{

    InitializeComponent ( );

    this.value1 = value1;

    this.value2 = value2;

}

在父级窗体中(跳转前)这样调用

new Form2 ( 111 , "222" ).Show ();  //这样就把111,"222",这2个值传送给了Form2

数据库部分视图以及需要用到的语句

在这里插入图片描述
admin表
在这里插入图片描述
用户表
在这里插入图片描述

连接数据库(注意修改以下配置)

 string constr = "server=127.0.0.1;port=3306;User Id=root;password=123456;Database=demo";
      //连接数据库
  MySqlConnection mycon = new MySqlConnection(constr);
  mycon.Open();

查询语句

 MySqlCommand mycmd = new MySqlCommand("SELECT * FROM `user`", mycon);
            MySqlDataReader rec = mycmd.ExecuteReader();

插入语句

 MySqlCommand mycmd = new MySqlCommand("INSERT INTO `表名` (`id`, `username`, `password`,`room_num`) VALUES (NULL, '', '', '');", mycon);

删除语句

 MySqlCommand mycmd = new MySqlCommand("DELETE FROM `user` WHERE `id` = ''", mycon);

结合文中所给的来看,明天在更新!

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
开发框架 前端开发 JavaScript
C# 6.0+JavaScript云LIS系统源码  云LIS实验室信息管理新型解决方案
云LIS是为区域医疗提供临床实验室信息服务的计算机应用程序,可协助区域内所有临床实验室相互协调并完成日常检验工作,对区域内的检验数据进行集中管理和共享,通过对质量控制的管理,最终实现区域内检验结果互认。其目标是以医疗服务机构为主体,以医疗资源和检验信息共享为目标,集成共性技术及医疗服务关键技术,建立区域协同检验,最大化利用有限的医疗卫生资源。
177 1
|
7月前
|
前端开发 Java C#
java/C#语言开发的医疗信息系统11套源码
java/C#语言开发的医疗信息系统11套源码
124 2
|
2月前
|
存储 开发框架 .NET
C#语言如何搭建分布式文件存储系统
C#语言如何搭建分布式文件存储系统
78 2
|
2月前
|
存储 分布式计算 监控
C# 创建一个分布式文件存储系统需要怎么设计??
C# 创建一个分布式文件存储系统需要怎么设计??
41 0
|
5月前
|
存储 Oracle 关系型数据库
PACS源码,C#语言数字医学影像系统成品源码
**数字医学影像系统(RIS/PACS)**采用C#开发,基于C/S架构,配Oracle数据库,具备自主版权,适用于项目实施。系统包含分诊、超声、放射、内镜、病理等工作站,支持基本信息维护、报表查询和系统维护。功能亮点有:WorkList管理、影像采集传输、存储检索、图像处理、多序列浏览、流程控制、报告录入与审核、支持多种影像设备及高级影像处理。RIS与PACS数据库同步,并集成HIS、电子病历等系统接口。全面遵循DICOM3.0标准。
PACS源码,C#语言数字医学影像系统成品源码
|
6月前
|
开发框架 前端开发 .NET
LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
集成于VS 2019,EXT.NET前端和ASP.NET后端,搭配MSSQL 2018数据库。系统覆盖样品管理、数据分析、报表和项目管理等实验室全流程。应用广泛,包括生产质检(如石化、制药)、环保监测、试验研究等领域。随着技术发展,现代LIMS还融合了临床、电子实验室笔记本和SaaS等功能,以满足复杂多样的实验室管理需求。
83 3
LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
|
5月前
|
数据采集 监控 BI
C#实验室检验LIS信息系统源码 微生物检验、质控维护
LIS系统的主要目标是为检验室开展检验工作提供更加有效的系统支持。该系统将尽量减少以人工操作的方式来实现信息转移,减少在接收检验项目、报告结果和保存记录等工作中可能会出现的人为误差,为检验结果查询提供更有效的方法,节省了管理信息所需的琐碎时间和精力。为实验室技术人员提供智能化的运行模式,使处理诸如按照规程审核检验结果、取消检验项目、分析、处理存在重大疑问的检验结果、执行特殊的命令和处理质量控制等问题更轻松自如,这将使检验人员更快地获得准确清晰的检验结果。为临床医护人员提供在线设施,使他们可以及时准确地获得相关实验室信息。确保检验结果的可靠性和准确性,利用实验室管理信息系统的仪器监控和质量控制,
54 0
|
5月前
|
C#
C#中使用IntPtr.Size属性来判断当前系统是32位还是64位
这段代码首先检查 `IntPtr.Size`的值,如果是4,则输出"当前系统是32位";如果是8,则输出"当前系统是64位";如果都不是,就输出"未知系统位数"。
80 0
|
7月前
|
存储 运维 BI
基于C#-VC-MSSQL开发的全套PACS系统源码 3D PACS系统源码:可实现医学影像获取、存档、观片、处理、打印多项应用
PACS的功能价值在于通过连接不同的影像设备,存储与管理图像,图像的调用与后处理,实现资源共享,降低成本,达到提高工作效率、提升医疗水平的目地;
93 1
基于C#-VC-MSSQL开发的全套PACS系统源码  3D PACS系统源码:可实现医学影像获取、存档、观片、处理、打印多项应用
|
7月前
|
安全 API C#
C#.Net筑基-类型系统②常见类型--枚举Enum
枚举(enum)是C#中的一种值类型,用于创建一组命名的整数常量。它们基于整数类型(如int、byte等),默认为int。枚举成员可指定值,未指定则从0开始自动递增。默认值为0。枚举可以与整数类型互相转换,并可通过`[Flags]`特性表示位域,支持位操作,用于多选场景。`System.Enum`类提供了如`HasFlag`、`GetName`等方法进行枚举操作。