📄 onerecorddaojdbcimpl.java
字号:
package com.asnk120.EMH.persist.DAOJdbcImpl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import com.asnk120.EMH.model.entity.OneRecord;
import com.asnk120.EMH.persist.JdbcUtil;
import com.asnk120.EMH.persist.DAO.OneRecordDAO;
import com.asnk120.EMH.persist.DAOFactory.ProDAOFactory;
public class OneRecordDAOJdbcImpl implements OneRecordDAO {
public void insertOneRecord(OneRecord or, Connection con) {
// TODO Auto-generated method stub
String number = or.getNumber();
String name = or.getName();
String sex = or.getSex();
int age = or.getAge();
String sample = or.getSample();
String doctor = or.getDoctor();
String purpose = or.getPurpose();
String clinic = or.getClinic();
String proName = or.getProName();
Vector<Vector> pvList = or.getPVList();
String provider = or.getProvider();
String date = or.getDate();
insertIntoBM(number, name, sex, age, sample, doctor, purpose, clinic,
provider, date, con);
insertIntoPV_X(proName, number, pvList, con);
}
public void insertIntoBM(String number, String name, String sex, int age,
String sample, String doctor, String purpose, String clinic,
String provider, String date, Connection con) {// 向base_message表中插入数据
String sql = "insert into base_message " + "values('" + number + "','"
+ name + "','" + sex + "'," + age + ",'" + sample + "','"
+ doctor + "','" + purpose + "','" + clinic + "','" + provider
+ "','" + date + "')";
PreparedStatement pstmt = null;
try {
pstmt = con.prepareStatement(sql);
pstmt.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
JdbcUtil.release(pstmt);
}
}
public void insertIntoPV_X(String proName, String number,
Vector<Vector> pvList, Connection con) {// 向PV_X表中插入数据
int id = ProDAOFactory.getDAO().findIdByName(proName, con);
String sql = "";
PreparedStatement pstmt = null;
try {
for (int i = 0; i < pvList.size(); i++) {
sql = "insert into PV_" + id + " values('" + number + "','"
+ (String) pvList.elementAt(i).elementAt(0) + "','"
+ (String) pvList.elementAt(i).elementAt(1) + "') ";
pstmt = con.prepareStatement(sql);
pstmt.executeUpdate();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
JdbcUtil.release(pstmt);
}
}
public OneRecord getOneRecord(String number, Connection con) {
OneRecord or = null;// 这里定为空,如果什么也没查到,比如编号长度,有字母等会造成这种情况;展现层HistoryQueryPanel会更具是否为空给出必要的JOptionPane.showMessageDialog(this,"***");
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
// 从base_message表中查表头,表尾数据
try {
sql = "select*from base_message where number=?";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, number);
rs = pstmt.executeQuery();
if (rs.next()) {
or = new OneRecord();
or.setName(rs.getString(2));
or.setSex(rs.getString(3));
or.setAge(rs.getInt(4));
or.setSample(rs.getString(5));
or.setDoctor(rs.getString(6));
or.setPurpose(rs.getString(7));
or.setClinic(rs.getString(8));
or.setProvider(rs.getString(9));
or.setDate(rs.getString(10));
String proNumber = "";
Vector<Vector> pvList = new Vector<Vector>();
proNumber = number.substring(8, 10);// 取出代表项目编号的两位
int tableId = Integer.parseInt(proNumber);
sql = "select pv.param,pv.value,pr.reference from pv_"
+ tableId + " pv,pr_" + tableId
+ " pr where pv.param=pr.param and number=?";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, number);
rs = pstmt.executeQuery();
while (rs.next()) {
Vector<Object> data = new Vector<Object>();
data.add(rs.getString(1));// p
data.add(rs.getString(2));// v
data.add(rs.getString(3));// r
pvList.add(data);
}
or.setPVList(pvList);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return or;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -