📄 modifypatientinfo.java
字号:
jpCenter.add(jbtnAddL);
jpCenter.add(jbtnDelL);
jpCenter.add(jEditorPane2);
jbtnReset.addActionListener(new ModifyPatientInfo_jbtnReset_actionAdapter(this));
panel1.add(jpCenter, java.awt.BorderLayout.CENTER);
this.getContentPane().add(panel1, java.awt.BorderLayout.CENTER);
//根据传递过来的选中的病人编号,从病人表里面读出该病人信息,显示到窗体的相应组件中
rs = db.getResultSet("SELECT * FROM patient WHERE ptnt_id='" + ppid +"'");
if (rs.next()) {
jtxtPName.setText(rs.getString("name"));
jtxtPHeight.setText(String.valueOf(rs.getFloat("height")));
jtxtPWeight.setText(String.valueOf(rs.getFloat("weight")));
jcmbSex.setSelectedItem(rs.getString("sex"));
jcmbXue.setSelectedItem(rs.getString("blood"));
//通过将从数据库里读出来的birth字符串转化成字符数组方法来依次获得当前病人的生日情况
birth = rs.getString("birth");
birthdemo =birth.toCharArray();
for(int i=0;i<birthdemo.length;i++)
{
if(i<4)
year = year+birthdemo[i];
else if(i>4&&i<7)
month = month + birthdemo[i];
else if(i>7&&i<10)
day = day +birthdemo[i];
}
jcmbYear.setSelectedItem(Integer.parseInt(year));
jcmbMonth.setSelectedItem(Integer.parseInt(month));
jcmbDay.setSelectedItem(Integer.parseInt(day));
//通过将从数据库里读出来的leechdom字符串转化成字符数组方法来依次获得当前病人的用药信息
leechdom = rs.getString("leechdom");
leech = leechdom.toCharArray();
for(int i=0;i<leech.length;i++){
if(leech[i]==',')
{
leechdomModelb.addElement(leechdemo);
leechdemo="";
}
else if(i==leech.length-1)
{
leechdemo=leechdemo+leech[i];
leechdomModelb.addElement(leechdemo);
}
else
{
leechdemo=leechdemo+leech[i];
}
}
}
//设置窗体大小为不可改变
this.setResizable(false);
}
//为重置按钮添加事件,点此按钮将清空所有病人信息
public void jbtnReset_actionPerformed(ActionEvent e) {
jtxtPHeight.setText("");
jtxtPWeight.setText("");
leechdomModelb.clear();
}
//为取消按钮添加事件,点此按钮后将关闭当前窗口
public void jbtnCancle_actionPerformed(ActionEvent e) {
dispose();
}
//为可选药品列表框添加事件,当点列表框里面任何一选项后,将把该项的索引传递到变量index
public void jlstLeechdom_mouseClicked(MouseEvent e) {
index=jlstLeechdom.getSelectedIndex();
}
//为药品删除按钮添加事件,当在右边病人用药里面选择了一项后,点此按钮后该药品将被退回到可选药品里面
public void jbtnDelL_actionPerformed(ActionEvent e) {
if(jlstLeechdomb.isSelectionEmpty() == true)
JOptionPane.showMessageDialog(null,"请在病人所用药品里面选择至少一种药品!","系统提示",JOptionPane.ERROR_MESSAGE);
else
selected = leechdomModelb.getElementAt(index).toString();
leechdomModel.addElement(selected);
leechdomModelb.removeElementAt(index);
}
//为可选药品列表框添加事件,当点列表框里面任何一选项后,将把该项的索引传递到变量index
public void jlstLeechdomb_mouseClicked(MouseEvent e) {
index = jlstLeechdomb.getSelectedIndex();
}
//为药品添加按钮添加事件,当在左边可选药品里面选择了一项后,点此按钮后该药品将被添加到病人用药里面
public void jbtnAddL_actionPerformed(ActionEvent e) {
if(jlstLeechdom.isSelectionEmpty() == true)
JOptionPane.showMessageDialog(null, "请在病人所用药品里面选择至少一种药品!", "系统提示",
JOptionPane.ERROR_MESSAGE);
else
selected = leechdomModel.getElementAt(index).toString();
leechdomModelb.addElement(selected);
leechdomModel.removeElementAt(index);
}
//为确定按钮添加事件,当点此按钮后,将把相应病人信息添加到数据库的病人表里
public void jbtnOK_actionPerformed(ActionEvent e) {
//如果病人信息填写不完整将提示相应信息
if(jtxtPName.getText().equals("") || jtxtPHeight.getText().equals("") || jtxtPWeight.getText().equals("")||leechdomModelb.getSize()==0)
JOptionPane.showMessageDialog(null,"请输入完整的数据!","系统提示",JOptionPane.ERROR_MESSAGE);
else{
MyDatabase db = new MyDatabase();
Statement stm=db.getStatement();
name = jtxtPName.getText();
dname = jtxtDoctorname.getText();
sex = jcmbSex.getSelectedItem().toString();
blood = jcmbXue.getSelectedItem().toString();
height = Float.parseFloat(jtxtPHeight.getText());
weight = Float.parseFloat(jtxtPWeight.getText());
birth = jcmbYear.getSelectedItem().toString()+"-"+jcmbMonth.getSelectedItem().toString()+"-"+jcmbDay.getSelectedItem().toString();
//用“,”号间隔依次将列表框里的病人用药以字符串的方式存储到病人表的药品字段里面
int num=jlstLeechdomb.getModel().getSize();
leechdom = leechdomModelb.getElementAt(0).toString();
for(int i=1;i<num;i++)
{
leechdom = leechdom+","+leechdomModelb.getElementAt(i).toString();
}
//根据病人用药列表框里面的药品,逐个累加药品价格,存储到病人表里的消费总价字段里面
for (int i = 0; i < num; i++) {
leechdomdemo = leechdomModelb.getElementAt(i).toString();
try {
db = new MyDatabase();
rs = db.getResultSet("SELECT * FROM leechdom WHERE name ='" +leechdomdemo + "'");
rs.next();
price1 = rs.getFloat("price");
price = price+price1;
} catch (SQLException se) {
se.printStackTrace();
}
}
//使用SQL语句更新病人信息
url="UPDATE patient SET dname='"+ dname +"',sex='" + sex +"',birth='" + birth +"',blood='" + blood +"',height='" + height +"',weight='" + weight +"',leechdom='" + leechdom +"',price='"+price+"' WHERE name ='"+name+"'";
try{
stm.executeUpdate(url);
}catch(SQLException se){
se.printStackTrace();
}
//更新病人信息成功则显示提示信息
JOptionPane.showMessageDialog(null,"修改病人信息成功!","系统提示",JOptionPane.INFORMATION_MESSAGE);
db.close();
//关闭当前窗口
dispose();
}
}
//为查询按钮添加事件,当在药品名称文本框里输入药品中任何一个文字后点此按钮将显示包含次文字的药品在可选药品列表框里面
public void jbtnSearch_actionPerformed(ActionEvent e) {
if (jtxtSearch.getText().equals("")) {
JOptionPane.showMessageDialog(null, "请输入查询信息");
return;
}
db = new MyDatabase();
lname = jtxtSearch.getText();
//使用SQL模糊查询语句获得药品表里的药品名称
rs = db.getResultSet("SELECT name FROM leechdom WHERE name like '%" + lname + "%'");
leechdomModel.clear();
try{
while(rs.next()){
leechdomModel.addElement(rs.getString("name"));
}
}catch(SQLException se){
se.printStackTrace();
}
}
//为“全部”按钮添加事件,点此按钮后,将把药品表里的所有药品显示在可选药品列表框里面
public void jtxtShow_actionPerformed(ActionEvent e) {
leechdomModel.clear();
db = new MyDatabase();
try{
ResultSet rs = db.getResultSet("SELECT * FROM leechdom");
while (rs.next()) {
leechdomModel.addElement(rs.getString("name"));
}
}catch(SQLException se){
se.printStackTrace();
}
db.close();
}
}
class ModifyPatientInfo_jtxtShow_actionAdapter implements ActionListener {
private ModifyPatientInfo adaptee;
ModifyPatientInfo_jtxtShow_actionAdapter(ModifyPatientInfo adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jtxtShow_actionPerformed(e);
}
}
class ModifyPatientInfo_jbtnSearch_actionAdapter implements ActionListener {
private ModifyPatientInfo adaptee;
ModifyPatientInfo_jbtnSearch_actionAdapter(ModifyPatientInfo adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jbtnSearch_actionPerformed(e);
}
}
class ModifyPatientInfo_jbtnOK_actionAdapter implements ActionListener {
private ModifyPatientInfo adaptee;
ModifyPatientInfo_jbtnOK_actionAdapter(ModifyPatientInfo adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jbtnOK_actionPerformed(e);
}
}
class ModifyPatientInfo_jbtnDel_actionAdapter implements ActionListener {
private ModifyPatientInfo adaptee;
ModifyPatientInfo_jbtnDel_actionAdapter(ModifyPatientInfo adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jbtnAddL_actionPerformed(e);
}
}
class ModifyPatientInfo_jlstLeechdomb_mouseAdapter extends MouseAdapter {
private ModifyPatientInfo adaptee;
ModifyPatientInfo_jlstLeechdomb_mouseAdapter(ModifyPatientInfo adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.jlstLeechdomb_mouseClicked(e);
}
}
class ModifyPatientInfo_jbtnDelL_actionAdapter implements ActionListener {
private ModifyPatientInfo adaptee;
ModifyPatientInfo_jbtnDelL_actionAdapter(ModifyPatientInfo adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jbtnDelL_actionPerformed(e);
}
}
class ModifyPatientInfo_jlstLeechdom_mouseAdapter extends MouseAdapter {
private ModifyPatientInfo adaptee;
ModifyPatientInfo_jlstLeechdom_mouseAdapter(ModifyPatientInfo adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.jlstLeechdom_mouseClicked(e);
}
}
class ModifyPatientInfo_jbtnCancle_actionAdapter implements ActionListener {
private ModifyPatientInfo adaptee;
ModifyPatientInfo_jbtnCancle_actionAdapter(ModifyPatientInfo adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jbtnCancle_actionPerformed(e);
}
}
class ModifyPatientInfo_jbtnReset_actionAdapter implements ActionListener {
private ModifyPatientInfo adaptee;
ModifyPatientInfo_jbtnReset_actionAdapter(ModifyPatientInfo adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jbtnReset_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -