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

📄 design.java

📁 java编写的电子商务网站源码,做的一个电脑直销网站,后台数据库使用的是MS SQL2000 Server,数据流的流向主要有两个方向
💻 JAVA
字号:
package beans;

import java.sql.*;
import javax.servlet.jsp.*;
import java.io.*;

public class Design {
	private String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
	private String url = "jdbc:microsoft:sqlserver://localhost:1433";
	private String user = "nick";
	private String passwd = "123";
	private Connection c = null;
	private PreparedStatement ps = null;
	private String pss = null;
	private ResultSet rs = null;

	private int cpu = 0;
	private int mainboard = 0;
	private int harddisk = 0;
	private int memory = 0;
	private int display = 0;
	private int monitor = 0;
	private int cpuT = 0;
	private String submit = null;
	private String[][] result = new String[6][7];

	public Design() {
		try {
			Class.forName(driver);
			for (int i = 0; i < 6; i++)
				for (int j = 0; j < 7; j++)
					result[i][j] = new String("");
			c = DriverManager.getConnection(url, user, passwd);
		}
		catch (Exception e) {
			e.printStackTrace();
		}
	}
	/*	获取和设置用户对CPU的要求	*/
	public int getCpu() {
		return this.cpu;
	}
	public void setCpu(int cpu) {
		this.cpu = cpu;
	}
	/*	获取和设置用户对主板的要求	*/
	public int getMainboard() {
		return this.mainboard;
	}
	public void setMainboard(int mainboard) {
		this.mainboard = mainboard;
	}
	/*	获取和设置用户对硬盘的要求	*/
	public int getHarddisk() {
		return this.harddisk;
	}
	public void setHarddisk(int harddisk) {
		this.harddisk = harddisk;
	}
	/*	获取和设置用户对内存的要求	*/
	public int getMemory() {
		return this.memory;
	}
	public void setMemory(int memory) {
		this.memory = memory;
	}
	/*	获取和设置用户对显卡的要求	*/
	public int getDisplay() {
		return this.display;
	}
	public void setDisplay(int display) {
		this.display = display;
	}
	/*	获取和设置用户对显示器的要求	*/
	public int getMonitor() {
		return this.monitor;
	}
	public void setMonitor(int monitor) {
		this.monitor = monitor;
	}
	public String getSubmit() {
		return this.submit;
	}
	public void setSubmit(String submit) {
		this.submit = encoding(submit);
	}

	/*	获取配件方案	*/
	public String[][] arrange() {
		if (submit != null) {
			selectCpu(this.cpu);
			selectMainboard(this.mainboard);
			selectHarddisk(this.harddisk);
			selectMemory(this.memory);
			selectDisplay(this.display);
			selectMonitor(this.monitor);
		}	
		return result;
	}
	/*	根据要求选择CPU		*/
	private void selectCpu(int cpu) {
		int temp = 0;
		try {
			if (cpu == 1) {
				pss = "select * from cpu where manufactor = 'Intel'";
				ps = c.prepareStatement(pss);
				rs = ps.executeQuery();
				if (rs.next())
					temp = rs.getInt(1);
				else
					temp = 0;
				pss = "select * from cpu where id = ?";
			}
			else if (cpu == 2) {
				pss = "select * from cpu where manufactor = 'AMD'";
				ps =
					c.prepareStatement(
						pss,
						ResultSet.TYPE_SCROLL_INSENSITIVE,
						ResultSet.CONCUR_UPDATABLE);
				rs = ps.executeQuery();
				if (rs.next())
					temp = rs.getInt(1);
				else
					temp = 0;
				pss = "select * from cpu where id = ?";
			}
			else if (cpu == 3) {
				pss = "select max(speed) from cpu";
				ps = c.prepareStatement(pss);
				rs = ps.executeQuery();
				if (rs.next())
					temp = rs.getInt(1);
				else
					temp = 0;
				pss = "select * from cpu where speed = ?";
			}
			else if (cpu == 4) {
				pss = "select min(price) from cpu";
				ps = c.prepareStatement(pss);
				rs = ps.executeQuery();
				if (rs.next())
					temp = rs.getInt(1);
				else
					temp = 0;
				pss = "select * from cpu where price = ?";
			}
			else if (cpu == 5) {
				float cpf = 0;
				float cpt = 0;
				pss = "select * from cpu";
				ps =
					c.prepareStatement(
						pss,
						ResultSet.TYPE_SCROLL_INSENSITIVE,
						ResultSet.CONCUR_UPDATABLE);
				rs = ps.executeQuery();
				while (rs.next()) {
					cpt = (float)rs.getInt(5) / rs.getInt(6);					
					if (cpt > cpf) {
						cpf = cpt;
						temp = rs.getInt(1);
					}
				}
				pss = "select * from cpu where id = ?";
			}
			else
				temp = 0;
			if (temp != 0) {
				ps = c.prepareStatement(pss);
				ps.setInt(1, temp);
				rs = ps.executeQuery();
				if (rs.next()) {
					for (int i = 0; i < 7; i++) {
						result[0][i] = rs.getString(i + 1);
						if (i == 0) {
							cpuT = rs.getInt(2);
						}
					}
				}
				else {
					for (int i = 0; i < 6; i++)
						result[0][i] = "";
				}
			}
			else {
				for (int i = 0; i < 7; i++)
					result[0][i] = "";
			}
			rs.close();
			ps.close();
		}
		catch (Exception e) {
			e.printStackTrace();
		}
	}
	/*	根据要求选择主板	*/
	private void selectMainboard(int mainboard) {
		int temp = 0;
		try {
			if (mainboard == 1) {
				pss = "select min(price) from mainboard where type = ?";
				ps = c.prepareStatement(pss);
				ps.setInt(1, cpuT);
				rs = ps.executeQuery();
				if (rs.next())
					temp = rs.getInt(1);
				else
					temp = 0;
				pss = "select * from mainboard where price = ? and type = ?";
			}
			else if (mainboard == 2) {
				float cpf = 0;
				float cpt = 0;
				pss = "select * from mainboard where type = ?";
				ps =
					c.prepareStatement(
						pss,
						ResultSet.TYPE_SCROLL_INSENSITIVE,
						ResultSet.CONCUR_UPDATABLE);
				ps.setInt(1, cpuT);
				rs = ps.executeQuery();
				while (rs.next()) {
					cpt =  (float)rs.getInt(5) / rs.getInt(6);					
					if (cpt > cpf) {
						cpf = cpt;
						temp = rs.getInt(1);
					}
				}
				pss = "select * from mainboard where id = ? and type = ?";
			}
			else
				temp = 0;
			if (temp != 0) {
				ps = c.prepareStatement(pss);
				ps.setInt(1, temp);
				ps.setInt(2, cpuT);
				rs = ps.executeQuery();			
				if (rs.next()) {
					for (int i = 0; i < 7; i++)
						result[1][i] = rs.getString(i + 1);
				}
				else {
					for (int i = 0; i < 7; i++)
						result[1][i] = "";
				}
			}
			rs.close();
			ps.close();
		}
		catch (Exception e) {
			e.printStackTrace();
		}
	}
	/*	根据要求选择硬盘	*/
	private void selectHarddisk(int harddisk) {
		int temp = 0;
		try {
			if (harddisk == 1) {
				pss = "select min(price) from harddisk";
				ps = c.prepareStatement(pss);
				rs = ps.executeQuery();
				if (rs.next()){
					temp = rs.getInt(1);					
				}
				else
					temp = 0;
				pss = "select * from harddisk where price = ?";
			}
			else if (harddisk == 2) {
				pss = "select max(volumn) from harddisk";
				ps = c.prepareStatement(pss);
				rs = ps.executeQuery();
				if (rs.next())
					temp = rs.getInt(1);
				else
					temp = 0;
				pss = "select * from harddisk where volumn = ?";
			}
			else if (harddisk == 3) {
				float cpf = 0;
				float cpt = 0;
				pss = "select * from harddisk";
				ps =
					c.prepareStatement(
						pss,
						ResultSet.TYPE_SCROLL_INSENSITIVE,
						ResultSet.CONCUR_UPDATABLE);
				rs = ps.executeQuery();
				while (rs.next()) {
					cpt = (float)rs.getInt(5) / rs.getInt(6);
					if (cpt > cpf) {
						cpf = cpt;
						temp = rs.getInt(1);
					}
				}
				pss = "select * from harddisk where id = ?";
			}
			else
				temp = 0;
			if (temp != 0) {
				ps = c.prepareStatement(pss);
				ps.setInt(1, temp);
				rs = ps.executeQuery();
				if (rs.next()) {
					for (int i = 0; i < 7; i++)
						result[2][i] = rs.getString(i + 1);
				}
				else {
					for (int i = 0; i < 7; i++)
						result[2][i] = "";
				}
			}
			rs.close();
			ps.close();
		}
		catch (Exception e) {
			e.printStackTrace();
		}
	}
	/*	根据要求选择内存	*/
	private void selectMemory(int memory) {
		int temp = 0;
		try {
			if (memory == 1) {
				pss = "select min(price) from memory";
				ps = c.prepareStatement(pss);
				rs = ps.executeQuery();
				if (rs.next())
					temp = rs.getInt(1);
				else
					temp = 0;
				pss = "select * from memory where price = ?";
			}
			else if (memory == 2) {
				pss = "select max(speed) from memory";
				ps = c.prepareStatement(pss);
				rs = ps.executeQuery();
				if (rs.next())
					temp = rs.getInt(1);
				else
					temp = 0;
				pss = "select * from memory where speed = ?";
			}
			else if (memory == 3) {
				float cpf = 0;
				float cpt = 0;
				pss = "select * from memory";
				ps =
					c.prepareStatement(
						pss,
						ResultSet.TYPE_SCROLL_INSENSITIVE,
						ResultSet.CONCUR_UPDATABLE);
				rs = ps.executeQuery();
				while (rs.next()) {
					cpt = (float)rs.getInt(5) / rs.getInt(6);
					if (cpt > cpf) {
						cpf = cpt;
						temp = rs.getInt(1);
					}
				}
				pss = "select * from memory where id = ?";
			}
			else
				temp = 0;
			if (temp != 0) {
				ps = c.prepareStatement(pss);
				ps.setInt(1, temp);
				rs = ps.executeQuery();
				if (rs.next()) {
					for (int i = 0; i < 7; i++)
						result[3][i] = rs.getString(i + 1);
				}
				else {
					for (int i = 0; i < 7; i++)
						result[3][i] = "";
				}
			}
			rs.close();
			ps.close();
		}
		catch (Exception e) {
			e.printStackTrace();
		}
	}
	/*	根据要求选择显卡	*/
	private void selectDisplay(int display) {
		int temp = 0;
		try {
			if (display == 1) {
				pss = "select min(price) from display";
				ps = c.prepareStatement(pss);
				rs = ps.executeQuery();
				if (rs.next())
					temp = rs.getInt(1);
				else
					temp = 0;
				pss = "select * from display where price = ?";
			}
			else if (display == 2) {
				pss = "select max(volumn) from display";
				ps = c.prepareStatement(pss);
				rs = ps.executeQuery();
				if (rs.next())
					temp = rs.getInt(1);
				else
					temp = 0;
				pss = "select * from display where volumn = ?";
			}
			else if (display == 3) {
				float cpf = 0;
				float cpt = 0;
				pss = "select * from display";
				ps =
					c.prepareStatement(
						pss,
						ResultSet.TYPE_SCROLL_INSENSITIVE,
						ResultSet.CONCUR_UPDATABLE);
				rs = ps.executeQuery();
				while (rs.next()) {
					cpt = (float)rs.getInt(5) / rs.getInt(6);
					if (cpt > cpf) {
						cpf = cpt;
						temp = rs.getInt(1);
					}
				}
				pss = "select * from display where id = ?";
			}
			else
				temp = 0;
			if (temp != 0) {
				ps = c.prepareStatement(pss);
				ps.setInt(1, temp);
				rs = ps.executeQuery();
				if (rs.next()) {
					for (int i = 0; i < 7; i++)
						result[4][i] = rs.getString(i + 1);
				}
				else {
					for (int i = 0; i < 7; i++)
						result[4][i] = "";
				}
			}
			rs.close();
			ps.close();
		}
		catch (Exception e) {
			e.printStackTrace();
		}
	}
	/*	根据要求选择显示器	*/
	private void selectMonitor(int monitor) {
		int temp = 0;
		try {
			if (monitor == 1) {
				pss = "select min(price) from monitor";
				ps = c.prepareStatement(pss);
				rs = ps.executeQuery();
				if (rs.next())
					temp = rs.getInt(1);
				else
					temp = 0;
				pss = "select * from monitor where price = ?";
			}
			else if (monitor == 2) {
				pss = "select max(size) from monitor";
				ps = c.prepareStatement(pss);
				rs = ps.executeQuery();
				if (rs.next())
					temp = rs.getInt(1);
				else
					temp = 0;
				pss = "select * from monitor where size = ?";
			}
			else if (monitor == 3) {
				float cpf = 0;
				float cpt = 0;
				pss = "select * from monitor";
				ps =
					c.prepareStatement(
						pss,
						ResultSet.TYPE_SCROLL_INSENSITIVE,
						ResultSet.CONCUR_UPDATABLE);
				rs = ps.executeQuery();
				while (rs.next()) {
					cpt = (float)rs.getInt(5) / rs.getInt(6);
					if (cpt > cpf) {
						cpf = cpt;
						temp = rs.getInt(1);
					}
				}
				pss = "select * from monitor where id = ?";
			}
			else
				temp = 0;
			if (temp != 0) {
				ps = c.prepareStatement(pss);
				ps.setInt(1, temp);
				rs = ps.executeQuery();
				if (rs.next()) {
					for (int i = 0; i < 7; i++)
						result[5][i] = rs.getString(i + 1);
				}
				else {
					for (int i = 0; i < 7; i++)
						result[5][i] = "";
				}
			}
			rs.close();
			ps.close();
		}
		catch (Exception e) {
			e.printStackTrace();
		}
	}

	private String encoding(String input) {
		try {
			return new String(input.getBytes("ISO-8859-1"), "GB2312");
		}
		catch (UnsupportedEncodingException uee) {
			return input;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -