package model;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import database.ConnectionDB;
public class MedicineTypeDAO {
private MedicineTypeDTO medicineTypeDTO;
private Connection conn; //连接对象
private Statement stmt; //通过简单SQL语句访问数据库
private PreparedStatement pstmt; //预编译的SQL语句访问数据库
private ResultSet rs; //结果集
public MedicineTypeDAO()
{
conn = ConnectionDB.getConnection();
}
public Vector<MedicineTypeDTO> fillMedicineType()
{
Vector<MedicineTypeDTO> users = new Vector<MedicineTypeDTO>();
try
{
conn = ConnectionDB.getConnection();
stmt=conn.createStatement();
rs=stmt.executeQuery("select * from MedicineType");
while(rs.next())
{
medicineTypeDTO = new MedicineTypeDTO();
medicineTypeDTO.setTypeCode(rs.getString(rs.findColumn("TypeCode")));
medicineTypeDTO.setTypeName(rs.getString(rs.findColumn("TypeName")));
users.add(medicineTypeDTO);
}
rs.close();
stmt.close();
conn.close();
}
catch (SQLException e)
{
System.out.print(e.getMessage());
}
return users;
}
public Vector<MedicineTypeDTO> searchMedicineType()
{
Vector<MedicineTypeDTO> users = new Vector<MedicineTypeDTO>();
try
{
conn = ConnectionDB.getConnection();
pstmt=conn.prepareStatement("select * from MedicineType where TypeCode like ? and TypeName like ?");
pstmt.setString(1, medicineTypeDTO.getTypeCode() + "%");
pstmt.setString(2, "%" + medicineTypeDTO.getTypeName() + "%");
rs=pstmt.executeQuery();
while(rs.next())
{
medicineTypeDTO = new MedicineTypeDTO();
medicineTypeDTO.setTypeCode(rs.getString(rs.findColumn("TypeCode")));
medicineTypeDTO.setTypeName(rs.getString(rs.findColumn("TypeName")));
users.add(medicineTypeDTO);
}
rs.close();
pstmt.close();
conn.close();
}
catch (SQLException e)
{
System.out.print(e.getMessage());
}
return users;
}
public boolean addMedicineType()
{
boolean flag = false;
try
{
conn = ConnectionDB.getConnection();
pstmt=conn.prepareStatement("insert into MedicineType values(?,?)");
pstmt.setString(1, medicineTypeDTO.getTypeCode());
pstmt.setString(2, medicineTypeDTO.getTypeName());
flag = (pstmt.executeUpdate() > 0);
pstmt.close();
conn.close();
}
catch (SQLException e)
{
flag = false;
System.out.print(e.getMessage());
}
return flag;
}
public boolean updateMedicineType()
{
boolean flag = false;
try
{
conn = ConnectionDB.getConnection();
pstmt=conn.prepareStatement("update MedicineType set TypeName=? where TypeCode=?");
pstmt.setString(1, medicineTypeDTO.getTypeName());
pstmt.setString(2, medicineTypeDTO.getTypeCode());
flag = (pstmt.executeUpdate() > 0);
pstmt.close();
conn.close();
}
catch (SQLException e)
{
flag = false;
System.out.print(e.getMessage());
}
return flag;
}
public boolean deleteMedicineType()
{
boolean flag = false;
try
{
conn = ConnectionDB.getConnection();
pstmt=conn.prepareStatement("delete from MedicineType where TypeCode=?");
pstmt.setString(1, medicineTypeDTO.getTypeCode());
flag = (pstmt.executeUpdate() > 0);
pstmt.close();
conn.close();
}
catch (SQLException e)
{
flag = false;
System.out.print(e.getMessage());
}
return flag;
}
public void setMedicineTypeDTO(MedicineTypeDTO medicineTypeDTO) {
this.medicineTypeDTO = medicineTypeDTO;
}
}