亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dbconnector.java

?? 一個簡單的網上訂書系統 java的課程設計
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package connector;

import items.*;
import java.sql.*;
import java.util.ArrayList;

import proxy.*;

import beans.*;

class DBConnector {

	private static DBConnector dbconnect = null;

	private static final String url = "jdbc:mysql://localhost:3306/";

	private static final String driver = "com.mysql.jdbc.Driver";

	private static Connection getConnection() {
		Connection con = null;
		try {
			Class.forName(driver);
			con = DriverManager.getConnection(url, MysqlServer.client,
					MysqlServer.clientPassword);
		} catch (ClassNotFoundException ce) {
			System.err.println("ClassNotFoundException from getConnection():  "
					+ ce.getMessage());
		} catch (SQLException ex) {
			System.err.println("SQLException from getting Connection:");
			System.err.println("Message:  " + ex.getMessage());
		}
		return con;
	}

	private static Connection getAdminConnection() {
		Connection con = null;
		try {
			Class.forName(driver);
			con = DriverManager.getConnection(url, MysqlServer.admin,
					MysqlServer.adminPassword);
		} catch (ClassNotFoundException ce) {
			System.err
					.println("ClassNotFoundException from getAdminConnection():  "
							+ ce.getMessage());
		} catch (SQLException ex) {
			System.err.println("SQLException from getAdminConnection():");
			System.err.println("Message:  " + ex.getMessage());
		}
		return con;
	}

	private DBConnector() {
		try {
			Connection con = getAdminConnection();
			Statement stmt = con.createStatement();

			TablesManager.createTables(stmt);
			stmt.executeUpdate("GRANT select ON bookstore.* "
					+ "TO 'clientID'@'localhost' IDENTIFIED BY 'clientPW' ;");
			stmt.executeUpdate("use bookstore;");
			stmt.executeUpdate("grant update (cpassword,realname,mailingaddr,"
					+ "creditcardnum,expirationdate,emailaddr) on customer "
					+ "TO 'clientID'@'localhost';");
			stmt.executeUpdate("grant insert on customer "
					+ "TO 'clientID'@'localhost';");
			stmt.executeUpdate("grant insert on invoice "
					+ "TO 'clientID'@'localhost';");
			stmt.executeUpdate("grant insert on orders "
					+ "TO 'clientID'@'localhost';");

			stmt.close();
			con.close();
		} catch (SQLException ex) {
			System.err.println("SQLException from constructing DBConnector:");
			System.err.println("Message:  " + ex.getMessage());
			System.err.println("Vendor:  " + ex.getErrorCode());
		}
	}

	private static ArrayList<Book> searchBooks(String query) {
		ArrayList<Book> books = new ArrayList<Book>();
		try {
			Connection con = getConnection();
			Statement stmt = con.createStatement();
			stmt.execute("USE Bookstore;");
			ResultSet result = stmt.executeQuery(query);
			ResultSetMetaData meta = result.getMetaData();
			String[] args = new String[meta.getColumnCount()];
			while (result.next()) {
				for (int i = 1; i <= meta.getColumnCount(); i++)
					args[i - 1] = result.getString(i);
				books.add(new Book(args));
			}
			stmt.close();
			con.close();
		} catch (SQLException se) {
			System.err.println("SQLException from searchBooks: "
					+ se.getMessage());
		}
		if (books.size() == 0)
			System.err.println("Query Fail: No Such Book in the database.");
		return books;
	}

	static DBConnector getSingletonInstance() {

		if (dbconnect == null) {
			dbconnect = new DBConnector();
		}
		return dbconnect;
	}

	static String getLastID(String table) {

		if (Checker.checkNull(table) == Checker.nullStr) {
			System.err.println(" get Last ID error: table name is null");
			return null;
		}

		String query = "select * from " + table + ";", last = null;

		try {
			Connection con = getConnection();
			Statement stmt = con.createStatement();
			stmt.execute("USE Bookstore;");
			ResultSet result = stmt.executeQuery(query);
			boolean r = result.next();
			while (r) {
				last = result.getString(1);
				r = result.next();
			}
			stmt.close();
			con.close();
		} catch (SQLException se) {
			System.err.println("SQLException from getLastID(): "
					+ se.getMessage());
		}
		return last;
	}

	static Book getBookByID(String BID) {
		if (Checker.checkNull(BID) == Checker.nullStr) {
			System.err.println(" get Book By ID error: book id is null");
			return null;
		}

		String query = "select * from book where BID = '" + BID.trim() + "';";
		ArrayList<Book> books = searchBooks(query);
		if (books.size() == 0) {
			System.err
					.println("No such book according to the specified ID in the datebase");
			return null;
		}
		return books.get(0);
	}

	static int execute(String query) {
		int result = -1;
		try {
			Connection con = getAdminConnection();
			Statement stmt = con.createStatement();
			stmt.execute("USE Bookstore;");
			result = stmt.executeUpdate(query);
			stmt.close();
			con.close();
		} catch (SQLException ex) {
			System.err.println("-----SQLException-----");
			System.err.println("From DBConnector.execute(): "
					+ ex.getLocalizedMessage());
		}
		return result;
	}

	static ArrayList<Book> searchBookByTitle(String title) {

		if (Checker.checkNull(title) == Checker.nullStr) {
			System.err
					.println(" search Book By Title error: book title is null");
			return new ArrayList<Book>();
		}

		String query = "select * from book where title like '%" + title.trim()
				+ "%';";
		return searchBooks(query);
	}

	static ArrayList<Book> searchBookByAuthor(String author) {

		if (Checker.checkNull(author) == Checker.nullStr) {
			System.err
					.println(" search Book By Author error: book author is null");
			return new ArrayList<Book>();
		}

		String query = "select * from book where author like '%"
				+ author.trim() + "%';";
		return searchBooks(query);

	}

	static ArrayList<Book> top10BySale() {
		String query = "select b.* from invoice i,book b,publisher p "
				+ "where i.BID = b.BID and b.PID = p.PID "
				+ " group by b.BID order by sum(i.qty) desc;";

		ArrayList<Book> books = new ArrayList<Book>();
		try {
			Connection con = getConnection();
			Statement stmt = con.createStatement();
			stmt.execute("USE Bookstore;");
			ResultSet result = stmt.executeQuery(query);
			ResultSetMetaData meta = result.getMetaData();
			String[] args = new String[meta.getColumnCount()];
			int j = 0, i = 0;
			while (result.next() && j < 10) {
				for (i = 1; i <= meta.getColumnCount(); i++)
					args[i - 1] = result.getString(i);
				books.add(new Book(args));
				j++;
			}
			stmt.close();
			con.close();
		} catch (SQLException se) {
			System.err.println("SQLException from top10BySale():\n "
					+ se.getMessage());
		}
		if (books.size() == 0)
			System.err.println("Query Fail: No Book in the database.");
		return books;
	}

	static int handleReg(String Cname, String Cpassword, String EMailAddr) {
		// /////////////////////////////////////////////////////////////////
		if (Checker.checkNull(Cname) == Checker.nullStr) {
			System.err.println("Customer register fail: Customer name is null");
			return 1;
		}

		String query = "SELECT Cname FROM customer where Cname = '"
				+ Cname.trim() + "';";
		String tmp = null;

		try {
			Connection con = getConnection();
			Statement stmt = con.createStatement();
			stmt.execute("USE Bookstore;");
			ResultSet result = stmt.executeQuery(query);
			while (result.next()) {
				tmp = result.getString(Cname);
				if (tmp != null)
					break;
			}
			stmt.close();
			con.close();
		} catch (SQLException se) {
			System.err.println("SQLException from handle Register: "
					+ se.getMessage());
		}
		if (tmp != null) {
			System.err
					.println("Customer register fail: Customer name is already in the database.");
			return 1;
		}

		if (Checker.checkNull(Cpassword) == Checker.nullStr) {
			System.err
					.println("Customer register fail: Customer password is null");
			return 1;
		}

		if (Checker.checkNull(EMailAddr) == Checker.nullStr) {
			System.err
					.println("Customer register fail: Customer email address is null");
			return 1;
		}

		String CID = CustomerManager.getNewCustomerID();
		int intResult = CustomerManager.insert(CID, Cname, Cpassword, null,
				null, null, null, EMailAddr);
		if (intResult == 1)
			return 0;
		return 2;
	}

	static ArrayList<Category> listAllCategories() {
		String query = "select * from category;";
		ArrayList<Category> categories = new ArrayList<Category>();
		try {
			Connection con = getConnection();
			Statement stmt = con.createStatement();
			stmt.execute("USE Bookstore;");
			ResultSet result = stmt.executeQuery(query);

			while (result.next()) {
				categories.add(new Category(result.getString("Cno"), result
						.getString("Cname")));
			}
			stmt.close();
			con.close();
		} catch (SQLException se) {
			System.err.println("SQLException from listAllCategories: "
					+ se.getMessage());
		}
		if (categories.size() == 0)
			System.err
					.println("Query Fail: There is no category in the database.");
		return categories;
	}

	static ArrayList<SubCategory> listSubCategories(String categoryName) {
		String query = "SELECT s.* FROM subcategory s,category c "
				+ "where s.Cno = c.Cno and c.Cname = '" + categoryName + "';";
		ArrayList<SubCategory> subCategories = new ArrayList<SubCategory>();
		try {
			Connection con = getConnection();
			Statement stmt = con.createStatement();
			stmt.execute("USE Bookstore;");
			ResultSet result = stmt.executeQuery(query);

			while (result.next()) {
				subCategories.add(new SubCategory(result.getString("SCno"),
						result.getString("SCname"), result.getString("Cno")));
			}
			stmt.close();
			con.close();
		} catch (SQLException se) {
			System.err.println("SQLException from listSubCategories: "
					+ se.getMessage());
		}

		if (subCategories.size() == 0)
			System.err.println("Query Fail: There is no subCategory "
					+ "of the specified category in the database.");
		return subCategories;
	}

	static boolean buyBooks(String Cname, String RealName, String MailAddr,
			String shippment, ArrayList<Book> books, ArrayList<Integer> qty) {
		// //////////////////////////////////////////////////
		if (books.size() != qty.size()) {
			System.out.println(books.size());
			System.err.println("books number error");
			return false;
		}
		if (Cname == null || Cname.trim().length() == 0) {
			System.err.println("Cname can not be null");
			return false;
		}

		if (RealName == null || RealName.trim().length() == 0) {
			System.err.println("RealName can not be null");
			return false;
		}

		if (MailAddr == null || MailAddr.trim().length() == 0) {
			System.err.println("MailAddr can not be null");
			return false;
		}

		if (shippment == null || shippment.trim().length() == 0) {
			System.err.println("shippment can not be null");
			return false;
		}

		String query = "";
		String Ono = OrdersManager.getNewOrderID();
		int length = books.size();
		String cid = null;
		String bid = null;
		int Qty;
		double billedPrice;

		try {
			Connection con = getConnection();
			Statement stmt = con.createStatement();
			stmt.execute("USE Bookstore;");
			query = "select cid from customer where Cname='" + Cname + "';";
			ResultSet result = stmt.executeQuery(query);
			if (!result.next()) {
				System.err.println("No such customer name in the datebase");
				return false;
			} else {
				cid = result.getString(1);
			}
			stmt.close();
			con.close();
		} catch (SQLException se) {
			System.err.println("SQLException from searchBooks: "
					+ se.getMessage());
		}

		query = "insert into orders values ('" + Ono + "','" + cid + "','"
				+ shippment + "'," + "null," + "current_date);";
		DBConnector.execute(query);

		for (int i = 0; i < length; i++) {

			bid = books.get(i).getBID();
			Qty = qty.get(i).intValue();
			billedPrice = (double) books.get(i).getPrice() * Qty;
			query = "insert into invoice values ('" + Ono + "','" + bid + "','"
					+ Qty + "','" + billedPrice + "');";
			DBConnector.execute(query);

		}
		return true;

	}

	static ArrayList<Book> top10ByDate() {
		String query = "select b.* " + " from book b , publisher p "
				+ " where b.PID = p.PID "
				+ " order by b.publicationDate desc ;";

		ArrayList<Book> books = new ArrayList<Book>();
		try {
			Connection con = getConnection();
			Statement stmt = con.createStatement();
			stmt.execute("USE Bookstore;");
			ResultSet result = stmt.executeQuery(query);
			ResultSetMetaData meta = result.getMetaData();
			String[] args = new String[meta.getColumnCount()];
			int j = 0, i = 0;
			while (result.next() && j < 10) {
				for (i = 1; i <= meta.getColumnCount(); i++)
					args[i - 1] = result.getString(i);
				books.add(new Book(args));
				j++;
			}
			stmt.close();
			con.close();
		} catch (SQLException se) {
			System.err.println("SQLException from top10ByDate():\n "
					+ se.getMessage());
		}
		return books;
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久婷婷二区次| 久久精品一区二区三区四区| 亚洲精品一区二区三区精华液| 国产日韩精品一区二区三区| 亚洲香肠在线观看| 国产一区二区主播在线| 欧美日韩国产色站一区二区三区| 国产欧美精品一区| 热久久久久久久| 91在线免费播放| 欧美国产国产综合| 国产一区二区三区久久悠悠色av| 在线精品视频免费播放| 国产精品你懂的在线| 久久国内精品视频| 91精品国产综合久久精品app| 国产精品久久毛片av大全日韩| 国产在线精品一区二区不卡了| 欧美一级精品大片| 91啦中文在线观看| 欧美午夜精品免费| 亚洲日本护士毛茸茸| jlzzjlzz亚洲女人18| 国产日韩欧美在线一区| 极品少妇一区二区三区精品视频| 欧美日产在线观看| 亚洲一区视频在线| 欧美亚洲自拍偷拍| 亚洲成人第一页| 欧美日韩国产欧美日美国产精品| 一区二区激情视频| 欧美性猛交xxxx乱大交退制版| 亚洲嫩草精品久久| 欧美色图12p| 爽好久久久欧美精品| 欧美一区二区不卡视频| 日本不卡不码高清免费观看| 欧美一级生活片| 蜜桃av噜噜一区| 欧美成人r级一区二区三区| 精品一区二区三区的国产在线播放| 日韩一区二区免费在线电影| 捆绑调教美女网站视频一区| 欧美一区二区三区在| 精品一区二区综合| 中文字幕成人网| 97精品久久久午夜一区二区三区| 亚洲少妇30p| 欧美日韩精品三区| 久热成人在线视频| 中文字幕欧美激情| 色婷婷精品大在线视频 | 精品sm捆绑视频| 国产美女视频91| 亚洲精选一二三| 51精品秘密在线观看| 国内成人免费视频| 中文字幕日本不卡| 欧美高清视频不卡网| 精品一区二区三区在线播放 | 激情文学综合丁香| 国产精品视频免费看| 在线观看亚洲精品| 日韩av成人高清| 国产亚洲精品超碰| 欧美性大战久久久| 国产一区高清在线| 亚洲综合精品久久| 日韩精品一区二区三区视频在线观看| 国内精品不卡在线| 一区二区免费在线播放| 欧美电影免费观看完整版| 不卡电影一区二区三区| 免费看欧美美女黄的网站| 国产欧美日韩在线看| 欧美老人xxxx18| 成人午夜免费av| 日韩电影在线一区二区三区| 国产精品免费视频一区| 日韩国产高清影视| 色激情天天射综合网| 蜜臀av性久久久久av蜜臀妖精| 最新热久久免费视频| 精品国产青草久久久久福利| 99精品国产一区二区三区不卡| 久久国产免费看| 亚洲高清视频的网址| 国产精品国产三级国产专播品爱网| 欧美视频精品在线| 成人黄色在线看| 极品尤物av久久免费看| 亚洲r级在线视频| 亚洲人成精品久久久久| 国产日韩综合av| 欧美电影免费观看高清完整版在线| 色综合久久88色综合天天 | 91在线国产福利| 欧美日韩黄色影视| 波多野结衣在线一区| 国产精品影视网| 亚洲精品国产一区二区精华液| 欧美xxxxxxxx| 91精品国模一区二区三区| 99热精品一区二区| 成人国产视频在线观看| 国产不卡视频一区二区三区| 九一久久久久久| 精品一区二区三区香蕉蜜桃| 免费人成黄页网站在线一区二区| 亚洲国产婷婷综合在线精品| 一区二区三区在线免费视频| 中文在线免费一区三区高中清不卡| 日韩精品一区二区三区视频播放| 宅男噜噜噜66一区二区66| 欧美日韩免费视频| 欧美色综合影院| 欧美精品1区2区3区| 成人小视频在线| 色综合久久久久综合| 亚洲成a天堂v人片| 亚洲福中文字幕伊人影院| 亚洲综合一区二区三区| 亚洲永久精品大片| 日韩不卡一区二区| 激情综合网av| 国产精品香蕉一区二区三区| 国产成人亚洲综合a∨婷婷| 国产精品一二三四| 99国产欧美久久久精品| 99re6这里只有精品视频在线观看| 不卡视频在线看| 欧美在线你懂的| 欧美另类久久久品| 精品成人私密视频| 国产精品免费视频一区| 亚洲欧美自拍偷拍色图| 亚洲一区二区三区四区在线 | 91一区一区三区| 欧美老人xxxx18| 久久亚洲一区二区三区四区| 欧美高清在线精品一区| 亚洲午夜久久久久久久久电影网 | 欧美一区二区在线视频| 宅男噜噜噜66一区二区66| 精品国产人成亚洲区| 国产精品人人做人人爽人人添| ...xxx性欧美| 性做久久久久久免费观看| 男女男精品网站| 大胆欧美人体老妇| 欧美日韩中文精品| 2020国产精品自拍| 亚洲三级久久久| 美女一区二区三区| bt欧美亚洲午夜电影天堂| 欧美视频日韩视频| 国产欧美日本一区视频| 亚洲成人你懂的| 成人在线综合网| 日韩欧美久久一区| 综合久久久久综合| 久久精品国产99| 欧美在线看片a免费观看| 久久青草国产手机看片福利盒子 | 蜜臀av一区二区三区| 成人av网站在线观看免费| 7777精品伊人久久久大香线蕉超级流畅 | 成人18精品视频| 日韩午夜在线影院| 亚洲九九爱视频| 国产精品99久久久久久久女警| 色婷婷av一区二区三区大白胸| 欧美一级理论片| 亚洲国产另类av| 丁香啪啪综合成人亚洲小说| 欧美一卡二卡在线| 亚洲欧洲制服丝袜| 国产不卡免费视频| 日韩视频免费观看高清完整版| 亚洲人妖av一区二区| 国产69精品久久久久777| 日韩精品一区二区三区四区视频| 亚洲香肠在线观看| 日本乱人伦aⅴ精品| 中文字幕一区二区三区在线播放| 韩国成人精品a∨在线观看| 欧美一级淫片007| 午夜精品福利一区二区三区av| 99这里都是精品| 国产精品久久久久久福利一牛影视| 国产综合色视频| 久久久久久电影| 国产自产视频一区二区三区| 精品999在线播放| 激情文学综合网| 久久精品男人天堂av| 国产成人免费网站| 欧美激情综合五月色丁香 | 裸体歌舞表演一区二区| 欧美精品亚洲一区二区在线播放|