文档章节

C#的应用

o
 osc_y8yehimr
发布于 2019/03/20 17:37
字数 811
阅读 0
收藏 0

C# 的窗口项目创建

内容管理为医院信息管理,基础包括增删改查,增删改的时候注意要使用  try {    }  catch{   }模块

连接函数

SqlConnection con = new SqlConnection(@"server=.\SQLEXPRESS;database=0313;integrated security=sspi");

 

点击选中DGV

private void dataGridView2_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            label2.Text = dataGridView2.SelectedCells[0].Value.ToString().Trim();
            textBox2.Text = dataGridView2.SelectedCells[1].Value.ToString().Trim();
            dateTimePicker1.Value = DateTime.Parse(dataGridView2.SelectedCells[2].Value.ToString());
            comboBox3.Text = dataGridView2.SelectedCells[3].Value.ToString().Trim();
        }

模块更新

//更新DGV
        void initGDV(string sql, DataGridView gdv)
        {
            con.Open();
            SqlDataAdapter sda = new SqlDataAdapter(sql, con);
            DataSet ds = new DataSet();
            sda.Fill(ds);
            gdv.DataSource = ds.Tables[0];
            con.Close();
        }
        //下拉菜单的更新
        void initCMB(string sql,ComboBox cmb )
        {
            con.Open();
            SqlCommand cmd = new SqlCommand(sql, con);
            SqlDataReader sdr = cmd.ExecuteReader();
            cmb.Items.Clear();
            while (sdr.Read())
                cmb.Items.Add(sdr.GetValue(0).ToString());
            con.Close();
        }

查询内容

//查询病人信息
        private void button1_Click(object sender, EventArgs e)
        {
            if(!checkBox1.Checked&&!checkBox2.Checked&&!checkBox3.Checked)
            {
                MessageBox.Show("请选择要查询的信息!");
                return;
            }
            string sql = "select d.dname as 大科室名, g.gname as 小科室名 ,p.pname as  病人姓名 from" +
                " department as d,pgroup as g,patient as p ";
            sql += "where g.dno=d.dno and p.gno=g.gno  ";
            if(checkBox1.Checked)
            {
                if (comboBox1.Text == "")
                {
                    MessageBox.Show("请选择大科室名!");
                    return;
                }
                else
                    sql += "and d.dname='" + comboBox1.Text + "' ";
            }
            if (checkBox2.Checked)
            {
                if (comboBox2.Text == "")
                {
                    MessageBox.Show("请选择小科室名!");
                    return;
                }
                else
                    sql += "and g.gname='" + comboBox2.Text + "' ";
            }
            if (checkBox3.Checked)
            {
                if (textBox1.Text == "")
                {
                    MessageBox.Show("请输入病人姓名!");
                    return;
                }
                else
                    sql += "and p.pname like '%" + textBox1.Text + "%' ";
            }
            sql += "order by 大科室名 desc,小科室名 ,病人姓名 desc ";
                initGDV(sql, dataGridView1);
        }

添加

//添加病人
        private void button2_Click(object sender, EventArgs e)
        {
            Form2 form2 = new Form2();
            form2.ShowDialog();
            initGDV("select pno as 身份证号 ,pname as 病人姓名 ,pdate as 出生日期 ,gno as 小科室编号 from patient ", dataGridView2);
        }
//窗口2 的内容,连接数据库和添加更新模块       
 private void button1_Click(object sender, EventArgs e)
        {
            if(textBox1.Text==""||textBox2.Text==""||comboBox1.Text=="")
            {
                MessageBox.Show("请输入要添加的信息!");
                return;
            }
            if(textBox1.Text=="0")
            {
                MessageBox.Show("身份证号不能为0!");
                return;
            }
            try
            {
                con.Open();
                string sql = "insert into patient values(@pno,@pname,@pdate,@gno)";
                SqlCommand cmd = new SqlCommand(sql, con);
                cmd.Parameters.Add(new SqlParameter("@pno", textBox1.Text));
                cmd.Parameters.Add(new SqlParameter("@pname", textBox2.Text));
                cmd.Parameters.Add(new SqlParameter("@pdate", dateTimePicker1.Value));
                cmd.Parameters.Add(new SqlParameter("@gno", comboBox1.Text));
                int i = cmd.ExecuteNonQuery();
                if (i > 0)
                    MessageBox.Show("添加成功!");
            }
            catch
            {
                MessageBox.Show("添加失败,病人身份证号重复或小科室人数已到80!!");
            }
            finally { con.Close(); }
        }

修改

//修改病人
        private void button3_Click(object sender, EventArgs e)
        {
            if (label2.Text=="0"||textBox2.Text == "" || comboBox3.Text == "")
            {
                MessageBox.Show("请选择和填写好要修改的病人信息!");
                return;
            }
            try
            {
                con.Open();
                string sql = "update patient set pname =@pname,pdate=@pdate,gno=@gno where pno=@pno";
                SqlCommand cmd = new SqlCommand(sql, con);
                cmd.Parameters.Add(new SqlParameter("@pno", label2.Text));
                cmd.Parameters.Add(new SqlParameter("@pname", textBox2.Text));
                cmd.Parameters.Add(new SqlParameter("@pdate", dateTimePicker1.Value));
                cmd.Parameters.Add(new SqlParameter("@gno", comboBox3.Text));
                int i = cmd.ExecuteNonQuery();
                if (i > 0)
                    MessageBox.Show("修改成功!");
            }
            catch
            {
                MessageBox.Show("修改失败!或小科室人数已到80!!");
            }
            finally
            {
                label2.Text = "0";textBox2.Text = "";
                con.Close();
                initGDV("select pno as 身份证号 ,pname as 病人姓名 ,pdate as 出生日期 ,gno as 小科室编号 from patient ", dataGridView2);
            }
        }

删除

//删除小科室
        private void button7_Click(object sender, EventArgs e)
        {
            if (label7.Text == "0")
            {
                MessageBox.Show("请选择要删除的小科室!");
                return;
            }
            DialogResult result=( MessageBox.Show("将删除对应科室的所有病人!", "警告!!!", MessageBoxButtons.YesNo));
            if (result == DialogResult.Yes)
            {
                try
                {
                    con.Open();
                    string sql = "delete from pgroup where gno=@gno ";
                    SqlCommand cmd = new SqlCommand(sql, con);
                    cmd.Parameters.Add(new SqlParameter("@gno", label7.Text));
                    int i = cmd.ExecuteNonQuery();
                    if (i > 0)
                        MessageBox.Show("删除成功!");
                }
                catch
                {
                    MessageBox.Show("删除失败!");
                }
                finally
                {
                    label7.Text = "0"; textBox3.Text = "";
                    con.Close();
                    initCMB("select gname from pgroup ", comboBox2);
                    initCMB("select gno from pgroup ", comboBox3);
                    initCMB("select distinct gmonth from pgroup", comboBox5);
                    initGDV("select gno as 小科室编号,gname as 小科室名 ,dno as 所属大科室编号,gmonth as 统计月份,gnum as 病人人数 from pgroup ", dataGridView4);
                }
            }

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

树莓派4b + Ubuntu20.04 Server 安装Java8

安装环境: 树莓派4b + Ubuntu20.04 Server 32位 1. 下载jdk https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 2. 解压 tar -zxvf jdk-8u251-linux-arm32-vf......

SummerGao
8分钟前
9
0
项目实战:Qt+OpenCV图像处理与识别算法平台

若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062 本文章博客地址:h...

红模仿_红胖子
11分钟前
7
0
北京智源大会 | AI + 医疗的下一个十年:从公共卫生预警到人类基因密码破解 道翰天琼认知智能api机器人接口。

医疗事关人身安全,要求极高,容错率极低,因此,知识壁垒和技术壁垒都很高。过去,AI系统更多的是服务于终端,辅助医生诊断、决策。但是,医疗很复杂,直接切入终端问题很多。未来十年,AI+...

jackli2020
15分钟前
8
0
源于HystrixCommandStartStream和RollingCommandMaxConcurrencyStream 的 RxJava demo

其实,最近在工作之余看Hystrix源代码已经有一个多月了, 除了对 HystrixCommandProperties ,HystrixCommand 和AbstractCommand 几个类比较了解以外,其余看山不是山,比较懵, 主要是因为H...

专业写BUG的程序员
18分钟前
16
0
聊聊Java中的异常及处理

前言 在编程中异常报错是不可避免的。特别是在学习某个语言初期,看到异常报错就抓耳挠腮,常常开玩笑说编程1分钟,改bug1小时。今天就让我们来看看什么是异常和怎么合理的处理异常吧! 异常...

良许Linux
21分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部