⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 onerecorddaojdbcimpl.java

📁 医院化验单系统
💻 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 + -