• C#的应用


    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);
                    }
                }
  • 相关阅读:
    C++ <cstring> 里的一些常用函数
    Hadoop_第一次作业
    线性回归理解和应用例子
    条款28 :避免返回handles指向对象内部成分
    条款25 :尽可能延后变量定义式的出现时间
    条款21 :必须返回对象时,别妄想返回其reference
    条款16:成对使用new和delete时要采用相同的形式
    条款22 :将成员变量声明为private
    条款13:以对象管理资源
    条款12:复制对象时勿忘其每一个成分
  • 原文地址:https://www.cnblogs.com/lincz/p/10566380.html
Copyright © 2020-2023  润新知