Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КП отчет.doc
Скачиваний:
52
Добавлен:
15.06.2014
Размер:
371 Кб
Скачать
☆

Приложение б

Исходный код класса, реализующего доступ к БД

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Vector;

public class ConnectDatabase {

public static Connection connect(){

Connection conn = null;

String dbConnect = "jdbc:oracle:thin:@localhost:15210:XE";

String dbUsername = "COM";

String dbPassword = "111";

try {

Class.forName("oracle.jdbc.driver.OracleDriver");

conn = DriverManager.getConnection(dbConnect, dbUsername, dbPassword);

} catch (ClassNotFoundException | SQLException e) {

e.printStackTrace();

}

return conn;

}

public static Object[][] getDataFromTable(String query) {

int rows = 0;

int columns = 0;

Object dataFromTable[][] = null;

query = getQuery(query);

Connection conn = connect();

try {

Statement statement = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

ResultSet result = statement.executeQuery(query);

columns = result.getMetaData().getColumnCount();

while (result.next()) {

rows++;

}

result.beforeFirst();

dataFromTable = new Object[rows][columns];

for (int i = 0; result.next(); i++) {

for (int j = 0; j < columns; j++) {

dataFromTable[i][j] = result.getObject(j + 1);

}

}

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

return dataFromTable;

}

public static Vector getListForCBox(String query){

Vector list = new Vector();

query = getQuery(query);

Connection conn = connect();

try {

Statement statement = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

ResultSet result = statement.executeQuery(query);

while (result.next()){

list.add(result.getString(1));

}

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

return list;

}

public static Vector getListForCBox(String query, String clause){

Vector list = new Vector();

query = getQuery(query) + clause + "'";

Connection conn = connect();

try {

Statement statement = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

ResultSet result = statement.executeQuery(query);

while (result.next()){

list.add(result.getString(1));

}

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

return list;

}

public static void insertRowFromDB(String query){

query = getQuery(query);

Connection conn = connect();

try {

Statement statement = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

statement.executeQuery(query);

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

public static void updateRowFromDB(String query){

insertRowFromDB(query);

}

public static void deleteRowFromDB(String query, Object id){

query = getQuery(query) + id;

Connection conn = connect();

try {

Statement statement = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

statement.executeQuery(query);

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

public static int getID(String query){

int id = 0;

query = getQuery(query);

Connection conn = connect();

try {

Statement statement = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

ResultSet result = statement.executeQuery(query);

if (result.next()){

id = result.getInt(1);

}

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

return id;

}

public static float getPrice(String query){

float price = 0;

Connection conn = connect();

try {

Statement statement = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

ResultSet result = statement.executeQuery(query);

if (result.next()){

price = result.getFloat(1);

}

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

return price;

}

private static String getQuery(String query) {

if (query.equals("get_data_orders")) {

query = "SELECT orders.order_id, orders.o_date, client.c_name, "

+ "orders.o_price, agent.a_surname, orders.o_share_agent, "

+ "broadcast.b_title, advertising.adv_title "

+ "FROM advertising "

+ "INNER JOIN client ON advertising.client_id = client.client_id "

+ "INNER JOIN orders ON advertising.advertising_id = orders.advertising_id "

+ "INNER JOIN broadcast ON orders.broadcast_id = broadcast.broadcast_id "

+ "INNER JOIN agent ON orders.agent_id = agent.agent_id "

+ "ORDER BY orders.order_id";

} else if (query.equals("get_data_broadcast")) {

query = "SELECT broadcast_id, b_title, b_rating, b_price_minute "

+ "FROM broadcast ORDER BY broadcast_id";

} else if (query.equals("get_data_advertising")) {

query = "SELECT advertising_id, adv_title, adv_length, c_name "

+ "FROM advertising JOIN client ON advertising.client_id=client.client_id "

+ "ORDER BY advertising_id";

} else if (query.equals("get_data_agent")) {

query = "SELECT agent_id, a_firstname, a_surname, a_address, a_phone "

+ "FROM agent ORDER BY agent_id";

} else if (query.equals("get_data_client")) {

query = "SELECT client_id, c_name, c_requisites, c_phone, c_contact_name "

+ "FROM client ORDER BY client_id";

}

else if (query.equals("get_list_client")) {

query = "SELECT c_name FROM client";

}

else if (query.equals("get_list_agent")) {

query = "SELECT a_surname FROM agent";

}

else if (query.equals("get_list_broadcast")) {

query = "SELECT b_title FROM broadcast";

}

else if (query.equals("get_list_advertising")) {

query = "SELECT adv_title FROM advertising";

}

else if (query.equals("update_list_advertising")) {

query = "SELECT adv_title FROM advertising JOIN client "

+ "ON advertising.client_id=client.client_id WHERE client.c_name='";

}

else if (query.equals("delete_row_orders")) {

query = "DELETE FROM orders WHERE order_id=";

}

else if (query.equals("delete_row_broadcast")) {

query = "DELETE FROM broadcast WHERE broadcast_id=";

}

else if (query.equals("delete_row_advertising")) {

query = "DELETE FROM advertising WHERE advertising_id=";

}

else if (query.equals("delete_row_agent")) {

query = "DELETE FROM agent WHERE agent_id=";

}

else if (query.equals("delete_row_client")) {

query = "DELETE FROM client WHERE client_id=";

}

else if (query.equals("get_max_orders")) {

query = "SELECT MAX(order_id) FROM orders";

}

else if (query.equals("get_max_broadcast")) {

query = "SELECT MAX(broadcast_id) FROM broadcast";

}

else if (query.equals("get_max_advertising")) {

query = "SELECT MAX(advertising_id) FROM advertising";

}

else if (query.equals("get_max_agent")) {

query = "SELECT MAX(agent_id) FROM agent";

}

else if (query.equals("get_max_client")) {

query = "SELECT MAX(client_id) FROM client";

}

return query;

}

}