using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using System.IO;
namespace HospitalManageSys
{
public partial class Form_Adminisrtator : Form
{
MySqlConnection conn;
MainForm mf;
public Form_Adminisrtator(MySqlConnection connector, MainForm mainform)
{
InitializeComponent();
conn = connector;
mf = mainform;
}
// string strcon = @"Data Source=localhost;Database=hospitalmanagesys;User Id=root;
// Password=123456;Allow User Variables=True";
string FileNamePath = "";
///
/// 员工查询
///
///
///
private void button1_Click(object sender, EventArgs e)
{
if (tb_id.Text == "")
{
MessageBox.Show("请输入员工编号!");
return;
}
//MySqlConnection conn = new MySqlConnection(strcon);//新建数据库连接对象
string StrSelcet = @"SELECT Admin_name,Admin_password,Admin_sex,Admin_job,Admin_department,Admin_fee,
Admin_photo,Admin_comment,Admin_capability FROM Administrator WHERE Admin_ID='" + tb_id.Text + "'";//sql查找语句
MySqlCommand cmd = new MySqlCommand(StrSelcet, conn);
try
{
conn.Open();//打开数据库
MySqlDataReader sdr = cmd.ExecuteReader();
MemoryStream memStream = null;//定义一个内存流
if (sdr.HasRows)//如果有记录
{
sdr.Read();//读取第一行记录
tb_name.Text = sdr["Admin_name"].ToString();//读取姓名
//tb_password.Text = sdr["Admin_password"].ToString();//读取密码
cb_sex.Text = sdr["Admin_sex"].ToString();//读取性别
cb_job.Text = sdr["Admin_job"].ToString();//读取职位
cb_department.Text = sdr["Admin_department"].ToString();//读取科室
tb_fee.Text = sdr["Admin_fee"].ToString();//读取挂号费
tb_comment.Text = sdr["Admin_comment"].ToString();//读取备注
if (this.pb_photo.Image != null)//原有图片销毁
pb_photo.Image = null;
if (sdr["Admin_photo"] != System.DBNull.Value)//如果有照片
{
byte[] images = (byte[])sdr["Admin_photo"];
memStream = new MemoryStream(images);//字节流转化为内存流
pb_photo.Image = Image.FromStream(memStream);//内存流转换为照片
memStream.Close();
}
int a = Convert.ToInt32(sdr["Admin_capability"].ToString());//读取职能转化为int类型
if ((a & 1) != 0)
check_1.Checked = true;
else
check_1.Checked = false;
if ((a & 2) != 0)
check_2.Checked = true;
else
check_2.Checked = false;
if ((a & 4) != 0)
check_3.Checked = true;
else
check_3.Checked = false;
if ((a & 8) != 0)
check_4.Checked = true;
else
check_4.Checked = false;
if ((a & 16) != 0)
check_5.Checked = true;
else
check_5.Checked = false;
if ((a & 32) != 0)
check_6.Checked = true;
else
check_6.Checked = false;
}
else
MessageBox.Show("没有此员工!");
if (!sdr.IsClosed)//关闭sdr
sdr.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
if (conn.State == ConnectionState.Open)//如果数据处于连接状态,关闭连接
conn.Close();
}
}
///
/// 员工添加
///
///
///
private void button2_Click(object sender, EventArgs e)
{
if (tb_id.Text == "" || tb_name.Text == "" || cb_job.Text == "" || cb_sex.Text == "")
{
MessageBox.Show("请输入完整信息");
return;
}
string StrInsert;
//MySqlConnection conn = new MySqlConnection(strcon);//新建数据库连接对象
if (FileNamePath != "")
{
StrInsert = @"INSERT INTO Administrator(Admin_ID,Admin_name,Admin_sex,Admin_job,Admin_department,
Admin_fee,Admin_photo,Admin_comment,Admin_capability,Admin_password) VALUES (@Admin_ID,@Admin_name,@Admin_sex,@Admin_job,@Admin_department,
@Admin_fee,@Admin_photo,@Admin_comment,@Admin_capability,@Admin_password)";
}
else
{
StrInsert = @"INSERT INTO Administrator(Admin_ID,Admin_name,Admin_sex,Admin_job,Admin_department,
Admin_fee,Admin_comment,Admin_capability,Admin_password) VALUES (@Admin_ID,@Admin_name,@Admin_sex,@Admin_job,@Admin_department,
@Admin_fee,@Admin_comment,@Admin_capability,@Admin_password)";
}
MySqlCommand cmd = new MySqlCommand(StrInsert, conn);
//添加参数
cmd.Parameters.Add("@Admin_ID", MySqlDbType.VarChar, 11).Value = tb_id.Text;
cmd.Parameters.Add("@Admin_name", MySqlDbType.VarChar, 20).Value = tb_name.Text;
cmd.Parameters.Add("@Admin_password", MySqlDbType.Int32,11).Value = tb_password.Text.GetHashCode();
cmd.Parameters.Add("@Admin_sex", MySqlDbType.VarChar, 2).Value = cb_sex.Text;
cmd.Parameters.Add("@Admin_job", MySqlDbType.VarChar, 20).Value = cb_job.Text;
cmd.Parameters.Add("@Admin_department", MySqlDbType.VarChar, 50).Value = cb_department.Text;
cmd.Parameters.Add("@Admin_fee", MySqlDbType.Decimal).Value = tb_fee.Text;
cmd.Parameters.Add("@Admin_comment", MySqlDbType.VarChar, 100).Value = tb_comment.Text;
if (FileNamePath != "")//如果照片不为空,添加照片
{
FileStream fs = null;//以文件流方式读取照片
fs = new FileStream(FileNamePath, FileMode.Open, FileAccess.Read);
byte[] imageBytes = new byte[Convert.ToInt32(fs.Length)];//定义照片长度数组
BinaryReader br = new BinaryReader(fs);
imageBytes = br.ReadBytes(Convert.ToInt32(fs.Length));//图片转换成二进制流
fs.Close();
cmd.Parameters.Add("@Admin_photo", MySqlDbType.MediumBlob);//选择MediumBlob类型
cmd.Parameters["@Admin_photo"].Value = imageBytes;//给@Admin_photo参数赋值
}
int ability;//定义职能
int a1 = check_1.Checked ? 1 : 0;
int a2 = check_2.Checked ? 2 : 0;
int a3 = check_3.Checked ? 4 : 0;
int a4 = check_4.Checked ? 8 : 0;
int a5 = check_5.Checked ? 16 : 0;
int a6 = check_6.Checked ? 32 : 0;
ability = a1 | a2 | a3 | a4 | a5 | a6;
cmd.Parameters.Add("@Admin_capability", MySqlDbType.Bit, 8);
cmd.Parameters["@Admin_capability"].Value = ability;
try
{
conn.Open();//打开数据库连接
cmd.ExecuteNonQuery();//执行sql语句
MessageBox.Show("保存成功!");
}
catch (Exception ex)
{
MessageBox.Show("出错!" + ex.Message);
}
finally
{
conn.Close();//关闭数据库连接
FileNamePath = "";
}
}
///
/// 员工删除
///
///
///
private void button3_Click(object sender, EventArgs e)
{
if (tb_id.Text == "")
{
MessageBox.Show("请输入员工编号");
return;
}
//MySqlConnection conn = new MySqlConnection(strcon);////新建数据库连接对象
string StrDel = "DELETE FROM Administrator WHERE Admin_ID=@Admin_ID";
MySqlCommand cmd = new MySqlCommand(StrDel, conn);
cmd.Parameters.Add("@Admin_ID", MySqlDbType.VarChar, 11).Value = tb_id.Text;
try
{
conn.Open();//打开数据库连接
int a = cmd.ExecuteNonQuery();//执行sql语句
if (a == 1)//如果受影响的行数为1,则删除成功
MessageBox.Show("删除成功!");
else
MessageBox.Show("数据库中没有此员工!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();//关闭数据库连接
}
}
///
/// 员工修改
///
///
///
private void button4_Click(object sender, EventArgs e)
{
if (tb_id.Text == "")
{
MessageBox.Show("请输入员工编号");
return;
}
//MySqlConnection conn = new MySqlConnection(strcon);
string StrUpdate = "UPDATE Administrator SET ";
StrUpdate += "Admin_name='" + tb_name.Text + "',";//修改姓名
//StrUpdate += "Admin_password='" + tb_password.Text + "',";//修改密码
StrUpdate += "Admin_sex='" + cb_sex.Text + "',";//修改性别
StrUpdate += "Admin_job='" + cb_job.Text + "',";//修改职位
StrUpdate += "Admin_department='" + cb_department.Text + "',";//修改科室
StrUpdate += "Admin_fee='" + tb_fee.Text + "',";//修改挂号费
if (FileNamePath != "")//如果选择了照片
{
FileStream fs = null;
fs = new FileStream(FileNamePath, FileMode.Open, FileAccess.Read);
byte[] imageBytes = new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);
imageBytes = br.ReadBytes(Convert.ToInt32(fs.Length));//图片转换成二进制流
fs.Close();
StrUpdate += "Admin_photo='" + imageBytes + "',";
}
int ability;//定义职能
int a1 = check_1.Checked ? 1 : 0;
int a2 = check_2.Checked ? 2 : 0;
int a3 = check_3.Checked ? 4 : 0;
int a4 = check_4.Checked ? 8 : 0;
int a5 = check_5.Checked ? 16 : 0;
int a6 = check_6.Checked ? 32 : 0;
ability = a1 | a2 | a3 | a4 | a5 | a6;
StrUpdate += "Admin_capability='" + ability + "',";//修改职能
StrUpdate += "Admin_comment='" + tb_comment.Text + "'";//修改备注
StrUpdate += "WHERE Admin_ID='" + tb_id.Text + "'";
MySqlCommand cmd = new MySqlCommand(StrUpdate, conn);
try
{
conn.Open();
int b = cmd.ExecuteNonQuery();
if (b == 1)
MessageBox.Show("修改成功!");
else
MessageBox.Show("数据库中没有此员工!");
}
catch (Exception ex)
{
MessageBox.Show("出错,没有完成修改!" + ex.Message);
}
finally
{
conn.Close();
FileNamePath = "";
}
}
///
/// 选择照片
///
///
///
private void pb_photo_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();//实例化打开文件对话框
ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
ofd.Filter = "jpg 图片|*.jpg|gif 图片|*.gif|所有文件(*.*)|*.*";//设置打开文件类型
if (ofd.ShowDialog(this) == DialogResult.OK)
{
FileNamePath = ofd.FileName;//获取文件路径
pb_photo.Image = Image.FromFile(FileNamePath);//将照片显示在pb_photo中
}
}
///
/// 清空操作
///
///
///
private void button5_Click(object sender, EventArgs e)
{
tb_id.Text = "";
tb_name.Text = "";
tb_password.Text = "";
cb_department.Text = "";
tb_fee.Text = "";
tb_comment.Text = "";
cb_sex.Text = "";
cb_job.Text = "";
pb_photo.Image = null;
check_1.Checked = false;
check_2.Checked = false;
check_3.Checked = false;
check_4.Checked = false;
check_5.Checked = false;
check_6.Checked = false;
}
///
/// 显示所有员工信息
///
///
///
private void button6_Click(object sender, EventArgs e)
{
string StrSelcet = @"SELECT Admin_ID,Admin_name,Admin_sex,Admin_job,Admin_department,Admin_comment FROM Administrator";//sql查找语句
//MySqlConnection conn = new MySqlConnection(strcon);
try
{
conn.Open();
MySqlDataAdapter msda = new MySqlDataAdapter(StrSelcet, conn);
DataSet dataSet = new DataSet("Syxx");
msda.Fill(dataSet);
dataGridView1.DataSource = dataSet.Tables[0];
}
catch (Exception ex)
{
MessageBox.Show("出错" + ex.Message);
}
finally
{
conn.Close();
}
}
private void Form_Adminisrtator_Load(object sender, EventArgs e)
{
}
}
}