写在开头
看到有很多人求代码,而且本人也很少登录回复不及时
完整代码
https://download.csdn.net/download/fank62/11348775
也可去github下载
https://github.com/fankoyu2019/C-and-SQL-Server-for-hospital
数据库文件只有目录截图,可根据截图内容自行添加,具体数据库本人已无!
1.1.系统功能框图
1.2.功能描述
(1)就诊药单登记:完成对挂号病人开药单
(2)住院药单登记:完成对住院病人开药单
(3)医生信息管理:能够进行对医生信息的增加、删除、修改某些信息
(4)病房信息管理:能够进行对病房信息的增加、删除、修改某些信息
(5)药品信息管理:能够进行对药品信息的增加、删除、修改某些信息
(6)科室信息管理:能够进行对科室信息的增加、删除、修改某些信息
(7)收银员信息管理:能够进行对收银员信息的增加、删除、修改某些信息
(8)用户注册:用户将创建一个账号,凭借此账号进入用户界面
(9)挂号:用户能选择科室,查看医生选择是否挂号
(10)住院:用户完成信息填表,增加病人住院信息
(11)出院:列出病人消费账单,完成缴费,并删除病人住院信息
(12)就诊缴费:列出就诊消费账单,完成缴费,并删除病人就诊记录
2.3.范式分析
用户(用户名,密码,住院编号,就诊编号,负责医生号,用户状态)
医生(医生编号,姓名,性别,年龄,工龄,部门编号,电话,职称,密码,医生状态)
科室(科室编号,科室名,主任编号,科室位置,科室状态)
住院病人(病人编号,医治时间,姓名,性别,年龄,住院科号,收银员编号,电话,出院时间,住院状态,病房号,病床号)
病房(病房编号,床位编号,科室,收费标准,目前状态,病房状态)
收银员(收银员编号,姓名,收银员状态)
药品(药品编号,药品名,库存数量,单价,药品状态)
住院药单(药单编号,医生编号,病人编号,药单状态)
住院包括(药品编号,药单编号,日期,数量)
就诊病人(挂号编号、姓名、性别、年龄、医生号、挂号状态、挂号时间、收银员编号)
就诊药单(药单编号,医生编号,病人编号,就诊药单状态)
就诊包括(药品编号,药单编号,日期,数量)
3.1
主函数界面实现
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
namespace HOSPITAL
{
public partial class MainMenu : Form
{
public MainMenu()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void label2_Click(object sender, EventArgs e)
{
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string name=textBox1.Text;
string password=textBox2.Text;
if (name == "admin" && password == "123456" && radioButton1.Checked)
{
MessageBox.Show("登陆成功!", "信息提示", MessageBoxButtons.OK);
this.Visible = false;
Admin nf = new Admin();
nf.ShowDialog();
this.Close();
}
else if (radioButton2.Checked)
{
string con = "Data Source=.;Initial Catalog=HOSPITAL;Integrated Security=True"; //这里是保存连接数据库的字符串
string sql = "select * from Users where [User]='" + name + "'and password='" + password + "' collate Chinese_PRC_CS_AS"; //SQL查询语句
SqlConnection mycon = new SqlConnection(con); //创建SQL连接对象
mycon.Open(); //打开
SqlCommand sqlman = new SqlCommand(sql, mycon);
sqlman.CommandType = CommandType.Text;
SqlDataReader sdr;
sdr = sqlman.ExecuteReader();
if (sdr.Read())
{
Class1.Usename = name;
Class1.id = sdr["id"].ToString();
Class1.Reid = sdr["Reid"].ToString();
MessageBox.Show("登陆成功!", "信息提示", MessageBoxButtons.OK);
this.Visible = false;
USER nf = new USER();
nf.ShowDialog();
this.Close();
}
else
{
MessageBox.Show("登陆失败!请检查用户名或密码重新登陆!", "信息提示", MessageBoxButtons.OK);
}
mycon.Close();
}
else if(radioButton3.Checked)
{
string con = "Data Source=.;Initial Catalog=HOSPITAL;Integrated Security=True"; //这里是保存连接数据库的字符串
string sql = "select * from Doctor where Doctor_id='" + name + "'and Doctor_password='" + password + "' collate Chinese_PRC_CS_AS"; //SQL查询语句
SqlConnection mycon = new SqlConnection(con); //创建SQL连接对象
mycon.Open(); //打开
SqlCommand sqlman = new SqlCommand(sql, mycon);
sqlman.CommandType = CommandType.Text;
SqlDataReader sdr;
sdr = sqlman.ExecuteReader();
if (sdr.Read())
{
Class1.Usename = sdr["Doctor_name"].ToString();
Class1.id = sdr["Doctor_id"].ToString();
MessageBox.Show("登陆成功!", "信息提示", MessageBoxButtons.OK);
this.Visible = false;
Doctor_USE nf = new Doctor_USE();
nf.ShowDialog();
this.Close();
}
else
{
MessageBox.Show("登陆失败!请检查用户名或密码重新登陆!", "信息提示", MessageBoxButtons.OK);
}
mycon.Close();
}
else
{
MessageBox.Show("登陆失败!请检查用户名或密码重新登陆!", "信息提示", MessageBoxButtons.OK);
}
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
this.Visible = false;
Sign_up nf = new Sign_up();
nf.ShowDialog();
this.Close();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
{
if (" ".IndexOf(e.KeyChar) != -1)
{
e.Handled = true;
}
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
this.Visible = false;
Updatepwd nf = new Updatepwd();
nf.ShowDialog();
this.Close();
}
}
}
数据库表如下