2 using System.Collections.Generic;
3 using System.ComponentModel;
8 using System.Windows.Forms;
9 using MySql.Data.MySqlClient;
12 namespace HospitalManageSys
14 public partial class Form_Adminisrtator : Form
19 public Form_Adminisrtator(MySqlConnection connector, MainForm mainform)
21 InitializeComponent();
27 // string strcon = @"Data Source=localhost;Database=hospitalmanagesys;User Id=root;
28 // Password=123456;Allow User Variables=True";
29 string FileNamePath = "";
33 /// <param name="sender"></param>
34 /// <param name="e"></param>
35 private void button1_Click(object sender, EventArgs e)
39 MessageBox.Show("请输入员工编号!");
42 //MySqlConnection conn = new MySqlConnection(strcon);//新建数据库连接对象
43 string StrSelcet = @"SELECT Admin_name,Admin_password,Admin_sex,Admin_job,Admin_department,Admin_fee,
44 Admin_photo,Admin_comment,Admin_capability FROM Administrator WHERE Admin_ID='" + tb_id.Text + "'";//sql查找语句
45 MySqlCommand cmd = new MySqlCommand(StrSelcet, conn);
49 MySqlDataReader sdr = cmd.ExecuteReader();
50 MemoryStream memStream = null;//定义一个内存流
51 if (sdr.HasRows)//如果有记录
54 tb_name.Text = sdr["Admin_name"].ToString();//读取姓名
55 //tb_password.Text = sdr["Admin_password"].ToString();//读取密码
56 cb_sex.Text = sdr["Admin_sex"].ToString();//读取性别
57 cb_job.Text = sdr["Admin_job"].ToString();//读取职位
58 cb_department.Text = sdr["Admin_department"].ToString();//读取科室
59 tb_fee.Text = sdr["Admin_fee"].ToString();//读取挂号费
60 tb_comment.Text = sdr["Admin_comment"].ToString();//读取备注
61 if (this.pb_photo.Image != null)//原有图片销毁
62 pb_photo.Image = null;
63 if (sdr["Admin_photo"] != System.DBNull.Value)//如果有照片
65 byte[] images = (byte[])sdr["Admin_photo"];
66 memStream = new MemoryStream(images);//字节流转化为内存流
67 pb_photo.Image = Image.FromStream(memStream);//内存流转换为照片
70 int a = Convert.ToInt32(sdr["Admin_capability"].ToString());//读取职能转化为int类型
72 check_1.Checked = true;
74 check_1.Checked = false;
76 check_2.Checked = true;
78 check_2.Checked = false;
80 check_3.Checked = true;
82 check_3.Checked = false;
84 check_4.Checked = true;
86 check_4.Checked = false;
88 check_5.Checked = true;
90 check_5.Checked = false;
92 check_6.Checked = true;
94 check_6.Checked = false;
97 MessageBox.Show("没有此员工!");
99 if (!sdr.IsClosed)//关闭sdr
104 MessageBox.Show(ex.Message);
108 if (conn.State == ConnectionState.Open)//如果数据处于连接状态,关闭连接
115 /// <param name="sender"></param>
116 /// <param name="e"></param>
117 private void button2_Click(object sender, EventArgs e)
119 if (tb_id.Text == "" || tb_name.Text == "" || cb_job.Text == "" || cb_sex.Text == "")
121 MessageBox.Show("请输入完整信息");
125 //MySqlConnection conn = new MySqlConnection(strcon);//新建数据库连接对象
126 if (FileNamePath != "")
128 StrInsert = @"INSERT INTO Administrator(Admin_ID,Admin_name,Admin_sex,Admin_job,Admin_department,
129 Admin_fee,Admin_photo,Admin_comment,Admin_capability,Admin_password) VALUES (@Admin_ID,@Admin_name,@Admin_sex,@Admin_job,@Admin_department,
130 @Admin_fee,@Admin_photo,@Admin_comment,@Admin_capability,@Admin_password)";
134 StrInsert = @"INSERT INTO Administrator(Admin_ID,Admin_name,Admin_sex,Admin_job,Admin_department,
135 Admin_fee,Admin_comment,Admin_capability,Admin_password) VALUES (@Admin_ID,@Admin_name,@Admin_sex,@Admin_job,@Admin_department,
136 @Admin_fee,@Admin_comment,@Admin_capability,@Admin_password)";
138 MySqlCommand cmd = new MySqlCommand(StrInsert, conn);
140 cmd.Parameters.Add("@Admin_ID", MySqlDbType.VarChar, 11).Value = tb_id.Text;
141 cmd.Parameters.Add("@Admin_name", MySqlDbType.VarChar, 20).Value = tb_name.Text;
142 cmd.Parameters.Add("@Admin_password", MySqlDbType.Int32,11).Value = tb_password.Text.GetHashCode();
143 cmd.Parameters.Add("@Admin_sex", MySqlDbType.VarChar, 2).Value = cb_sex.Text;
144 cmd.Parameters.Add("@Admin_job", MySqlDbType.VarChar, 20).Value = cb_job.Text;
145 cmd.Parameters.Add("@Admin_department", MySqlDbType.VarChar, 50).Value = cb_department.Text;
146 cmd.Parameters.Add("@Admin_fee", MySqlDbType.Decimal).Value = tb_fee.Text;
147 cmd.Parameters.Add("@Admin_comment", MySqlDbType.VarChar, 100).Value = tb_comment.Text;
148 if (FileNamePath != "")//如果照片不为空,添加照片
150 FileStream fs = null;//以文件流方式读取照片
151 fs = new FileStream(FileNamePath, FileMode.Open, FileAccess.Read);
152 byte[] imageBytes = new byte[Convert.ToInt32(fs.Length)];//定义照片长度数组
153 BinaryReader br = new BinaryReader(fs);
154 imageBytes = br.ReadBytes(Convert.ToInt32(fs.Length));//图片转换成二进制流
156 cmd.Parameters.Add("@Admin_photo", MySqlDbType.MediumBlob);//选择MediumBlob类型
157 cmd.Parameters["@Admin_photo"].Value = imageBytes;//给@Admin_photo参数赋值
160 int a1 = check_1.Checked ? 1 : 0;
161 int a2 = check_2.Checked ? 2 : 0;
162 int a3 = check_3.Checked ? 4 : 0;
163 int a4 = check_4.Checked ? 8 : 0;
164 int a5 = check_5.Checked ? 16 : 0;
165 int a6 = check_6.Checked ? 32 : 0;
166 ability = a1 | a2 | a3 | a4 | a5 | a6;
167 cmd.Parameters.Add("@Admin_capability", MySqlDbType.Bit, 8);
168 cmd.Parameters["@Admin_capability"].Value = ability;
172 conn.Open();//打开数据库连接
173 cmd.ExecuteNonQuery();//执行sql语句
174 MessageBox.Show("保存成功!");
178 MessageBox.Show("出错!" + ex.Message);
182 conn.Close();//关闭数据库连接
189 /// <param name="sender"></param>
190 /// <param name="e"></param>
191 private void button3_Click(object sender, EventArgs e)
193 if (tb_id.Text == "")
195 MessageBox.Show("请输入员工编号");
198 //MySqlConnection conn = new MySqlConnection(strcon);////新建数据库连接对象
199 string StrDel = "DELETE FROM Administrator WHERE Admin_ID=@Admin_ID";
200 MySqlCommand cmd = new MySqlCommand(StrDel, conn);
201 cmd.Parameters.Add("@Admin_ID", MySqlDbType.VarChar, 11).Value = tb_id.Text;
204 conn.Open();//打开数据库连接
205 int a = cmd.ExecuteNonQuery();//执行sql语句
206 if (a == 1)//如果受影响的行数为1,则删除成功
207 MessageBox.Show("删除成功!");
209 MessageBox.Show("数据库中没有此员工!");
213 MessageBox.Show(ex.Message);
217 conn.Close();//关闭数据库连接
223 /// <param name="sender"></param>
224 /// <param name="e"></param>
225 private void button4_Click(object sender, EventArgs e)
227 if (tb_id.Text == "")
229 MessageBox.Show("请输入员工编号");
232 //MySqlConnection conn = new MySqlConnection(strcon);
233 string StrUpdate = "UPDATE Administrator SET ";
234 StrUpdate += "Admin_name='" + tb_name.Text + "',";//修改姓名
235 //StrUpdate += "Admin_password='" + tb_password.Text + "',";//修改密码
236 StrUpdate += "Admin_sex='" + cb_sex.Text + "',";//修改性别
237 StrUpdate += "Admin_job='" + cb_job.Text + "',";//修改职位
238 StrUpdate += "Admin_department='" + cb_department.Text + "',";//修改科室
239 StrUpdate += "Admin_fee='" + tb_fee.Text + "',";//修改挂号费
241 if (FileNamePath != "")//如果选择了照片
243 FileStream fs = null;
244 fs = new FileStream(FileNamePath, FileMode.Open, FileAccess.Read);
245 byte[] imageBytes = new byte[fs.Length];
246 BinaryReader br = new BinaryReader(fs);
247 imageBytes = br.ReadBytes(Convert.ToInt32(fs.Length));//图片转换成二进制流
249 StrUpdate += "Admin_photo='" + imageBytes + "',";
252 int a1 = check_1.Checked ? 1 : 0;
253 int a2 = check_2.Checked ? 2 : 0;
254 int a3 = check_3.Checked ? 4 : 0;
255 int a4 = check_4.Checked ? 8 : 0;
256 int a5 = check_5.Checked ? 16 : 0;
257 int a6 = check_6.Checked ? 32 : 0;
258 ability = a1 | a2 | a3 | a4 | a5 | a6;
259 StrUpdate += "Admin_capability='" + ability + "',";//修改职能
260 StrUpdate += "Admin_comment='" + tb_comment.Text + "'";//修改备注
261 StrUpdate += "WHERE Admin_ID='" + tb_id.Text + "'";
262 MySqlCommand cmd = new MySqlCommand(StrUpdate, conn);
266 int b = cmd.ExecuteNonQuery();
268 MessageBox.Show("修改成功!");
270 MessageBox.Show("数据库中没有此员工!");
274 MessageBox.Show("出错,没有完成修改!" + ex.Message);
286 /// <param name="sender"></param>
287 /// <param name="e"></param>
288 private void pb_photo_Click(object sender, EventArgs e)
290 OpenFileDialog ofd = new OpenFileDialog();//实例化打开文件对话框
291 ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
292 ofd.Filter = "jpg 图片|*.jpg|gif 图片|*.gif|所有文件(*.*)|*.*";//设置打开文件类型
293 if (ofd.ShowDialog(this) == DialogResult.OK)
295 FileNamePath = ofd.FileName;//获取文件路径
296 pb_photo.Image = Image.FromFile(FileNamePath);//将照片显示在pb_photo中
302 /// <param name="sender"></param>
303 /// <param name="e"></param>
304 private void button5_Click(object sender, EventArgs e)
308 tb_password.Text = "";
309 cb_department.Text = "";
311 tb_comment.Text = "";
314 pb_photo.Image = null;
315 check_1.Checked = false;
316 check_2.Checked = false;
317 check_3.Checked = false;
318 check_4.Checked = false;
319 check_5.Checked = false;
320 check_6.Checked = false;
325 /// <param name="sender"></param>
326 /// <param name="e"></param>
327 private void button6_Click(object sender, EventArgs e)
329 string StrSelcet = @"SELECT Admin_ID,Admin_name,Admin_sex,Admin_job,Admin_department,Admin_comment FROM Administrator";//sql查找语句
330 //MySqlConnection conn = new MySqlConnection(strcon);
334 MySqlDataAdapter msda = new MySqlDataAdapter(StrSelcet, conn);
335 DataSet dataSet = new DataSet("Syxx");
337 dataGridView1.DataSource = dataSet.Tables[0];
341 MessageBox.Show("出错" + ex.Message);
349 private void Form_Adminisrtator_Load(object sender, EventArgs e)