📄 makermanager.java
字号:
package zhaobiao.db;
import java.util.*;
import java.sql.*;
import zhaobiao.db.*;
import zhaobiao.data.*;
/**
* <p>Title: 厂商信息管理类</p>
* <p>Description: 有关厂商信息管理的浏览操作</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/
public class MakerManager {
public MakerManager() {
}
/** 获的所有的厂商的集合
* @param long page
* @param long pagemax
* @return 厂商Vector
*/
public Vector getMakerList(long page ,long pagemax)
{
page=page-1;
Vector list=new Vector();
db=DBConnectionManager.getInstance();//加上下面这两句
con=db.getConnection("idb");
String sql="select *from maker";
try {
ps=con.prepareStatement(sql);
rs=ps.executeQuery();
int count=1;
while(rs.next())
{
if (count>(page*pagemax)&&count<=(page*pagemax+pagemax)){
Maker mk=new Maker();
mk.setMaker_id(rs.getLong("maker_id"));
mk.setMaker_name(rs.getString("maker_name"));
mk.setMaker_address(rs.getString("maker_address"));
mk.setMaker_cr_address(rs.getString("maker_cr_address"));
mk.setMaker_cr_time(rs.getString("maker_cr_time"));
mk.setMaker_cr_address(rs.getString("maker_cr_address"));
mk.setMaker_cr_cost(rs.getString("maker_cr_cost"));
mk.setMaker_fr_name(rs.getString("maker_fr_name"));
mk.setMaker_fr_position(rs.getString("maker_fr_position"));
mk.setMaker_attribute(rs.getString("maker_attribute"));
mk.setMaker_relation(rs.getString("maker_relation"));
mk.setMaker_db_content(rs.getString("maker_db_content"));
list.add(mk);
}
count++;
}
}
catch (SQLException ex) {
freeCon();
ex.printStackTrace() ;
}
freeCon();
return list;
}
/** 获的所有的厂商的集合的数量
* @param 无
* @return long 厂商的集合的数量
*/
public long getMakerListCount()
{
long count=0;
db=DBConnectionManager.getInstance();
con=db.getConnection("idb");
String sql="select *from maker";
try {
ps=con.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next())
{
count++;
}
}
catch (SQLException ex) {
freeCon();
ex.printStackTrace() ;
}
freeCon();
return count;
}
/** 根据厂商的id获的该厂商所有参加过的项目列表/使用set返回,去掉其中的重复值
*@param long page
*@param long pagemax
* @param long maker_id
* @return 厂商所有参加过的项目列表set
*/
public Set getPPMProjectList(long page,long pagemax,long maker_id)
{
page=page-1;
Set set1=new TreeSet();
Set set2=new TreeSet();
Basic basic=new Basic();
db=DBConnectionManager.getInstance();
con=db.getConnection("idb");
String sql="select *from ppm where maker_id=?";
try {
ps=con.prepareStatement(sql);
ps.setLong(1,maker_id);
rs=ps.executeQuery();
int count=1;
while(rs.next())
{
Project pj=new Project();
pj=basic.getProject(rs.getLong("project_id"));
if(set1.add(pj))
{
if (count>(page*pagemax)&&count<=(page*pagemax+pagemax))
{
set2.add(pj);;
}
count++; //计数器加1
}
}
}
catch (SQLException ex) {
basic.freeCon();
freeCon();
ex.printStackTrace();
}
basic.freeCon();
freeCon();
return set2;
}
/** 根据厂商的id获的该厂商所有参加过的项目的数量,去掉其中的重复值
*@param 厂商的id
*@return long 厂商所有参加过的项目的数量
*/
public long getPPMListCount(long maker_id)
{
long count=0;
Set set1=new TreeSet();
Basic basic=new Basic();
db=DBConnectionManager.getInstance();
con=db.getConnection("idb");
String sql="select *from ppm where maker_id=?";
try {
ps=con.prepareStatement(sql);
ps.setLong(1,maker_id);
rs=ps.executeQuery();
while(rs.next())
{
Project pj=new Project();
pj=basic.getProject(rs.getLong("project_id"));
if(set1.add(pj))
count++; //计数器加1
}
}
catch (SQLException ex) {
basic.freeCon();
ex.printStackTrace();
}
set1.clear();
basic.freeCon();
return count;
}
/** 根据厂商的id和项目id获得ppm表中对应的ppm集合
* @param 厂商的id
* @param 项目id
* @return ppm集合
*/
public Vector getPPMProductList(long project_id,long maker_id)
{
Vector list=new Vector();
Basic basic=new Basic();
db=DBConnectionManager.getInstance();
con=db.getConnection("idb");
String sql="select *from ppm where project_id=? and maker_id=?";
try {
ps=con.prepareStatement(sql);
ps.setLong(1,project_id);
ps.setLong(2,maker_id);
rs=ps.executeQuery();
while(rs.next())
{
PPM ppm=new PPM();
long ppmid;
ppmid=rs.getLong("id");
ppm=basic.getPPM(ppmid);
list.add(ppm);
}
}
catch (SQLException ex) {
basic.freeCon();
freeCon();
ex.printStackTrace();
}
basic.freeCon() ;
freeCon();
return list;
}
/** 根据项目id和产品id和厂商id得到相关的PPM对象实例
*@param 项目id
*@param 产品id
*@param 厂商id
*@return PPM对象实例
*/
public PPM getPPMList(long project_id,long product_id,long maker_id)
{
PPM ppm=new PPM();
db=DBConnectionManager.getInstance();
con=db.getConnection("idb");
Basic basic=new Basic();
String sql="select *from ppm where project_id=? and product_id=? and maker_id=?";
try {
ps=con.prepareStatement(sql);
ps.setLong(1,project_id);
ps.setLong(2,product_id);
ps.setLong(3,maker_id);
rs=ps.executeQuery();
if(rs.next())
{
long id;
id=rs.getLong("id");
ppm=basic.getPPM(id);
}
}
catch (SQLException ex) {
freeCon();
ex.printStackTrace();
}
basic.freeCon();
freeCon();
return ppm;
}
/**
* 释放数据库资源<p>
*PreparedStatement和ResultSep将关闭,Connection返回给连接池
* @param 无
* @repurn 无
* @exception SQLException
*
*/
public void freeCon(){
try {
if (rs!=null)
rs.close() ;
if (ps!=null)
ps.close() ;
}
catch (SQLException ex) {
}
if (db!=null)
db.freeConnection("idb",con) ;
}
public static void main(String[] args) {
MakerManager makerManager1 = new MakerManager();
}
private DBConnectionManager db;
private Connection con=null;
private ResultSet rs=null;
private PreparedStatement ps=null;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -