/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package classes;
import java.sql.*;
/**
*
* @author User
*/
public class Database {
static Connection conn;
static Statement statmt;
static ResultSet resSet;
static final String DBNAME = "pharmacy.db";
// --------ПОДКЛЮЧЕНИЕ К БАЗЕ ДАННЫХ--------
/**
* Connects to a fixed database.
* @throws ClassNotFoundException
* @throws SQLException
*/
public static void conn() throws ClassNotFoundException, SQLException
{
conn = null;
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection("jdbc:sqlite:"+DBNAME);
statmt = conn.createStatement();
}
public static Object getRowFromTable(String table, String column, int index) throws ClassNotFoundException, SQLException{
resSet = statmt.executeQuery("SELECT "+column+" FROM "+table+";");
while(index-- > 0)
resSet.next();
Object obj = resSet.getObject(column);
return obj;
}
public static Object getByParameter(String table, String column, String parameter, String value)throws ClassNotFoundException,SQLException{
resSet = statmt.executeQuery("SELECT "+column+" FROM "+table+" WHERE "+parameter+"="+value+";");
resSet.next();
Object obj = resSet.getObject(column);
return obj;
}
public static void closeDB() throws ClassNotFoundException, SQLException
{
conn.close();
statmt.close();
resSet.close();
}
static int getNumSales(int id_goods) throws SQLException {
resSet = statmt.executeQuery("select sum(sale_goods.quantity) as A from sale_goods join goods on sale_goods.id_goods=goods.id_goods " +
"where sale_goods.id_goods = "+id_goods+";");
resSet.next();
return resSet.getInt("A");
}
static int getNumWarehouse(int id_goods) throws SQLException {
resSet = statmt.executeQuery("select sum(purchase.quantity) as A from purchase join goods on purchase.id_purchase=goods.id_purchase " +
"where goods.id_goods = "+id_goods+";");
resSet.next();
return resSet.getInt("A");
}
static String getDate(int id_goods) throws SQLException {
resSet = statmt.executeQuery("select purchase.date as A from purchase join goods on purchase.id_purchase=goods.id_purchase " +
"where goods.id_goods = "+id_goods+";");
resSet.next();
return resSet.getString("A");
}
static Object getSaleInfo(String parameter, int id_goods, String dateStart, String dateEnd, int index) throws SQLException{
Object obj;
resSet = statmt.executeQuery("select "+parameter+" as A from " +
"sale_goods join sale join goods join employee on "
+ "sale.id_employee=employee.id_employee and sale_goods.id_goods=goods.id_goods and sale_goods.id_sale=sale.id_sale "
+ "where goods.id_goods="+id_goods+" and sale.date between date('"+dateStart+"') and date('"+dateEnd+"') order by sale.date desc;");
while(index-- > 0)
resSet.next();
obj = resSet.getObject("A");
return obj;
}
public static int getSaleInfoNum(int id_goods, String dateStart, String dateEnd, int index) throws SQLException{
int num;
resSet = statmt.executeQuery("select count() from " +
"sale_goods join sale join goods join employee on "
+ "sale.id_employee=employee.id_employee and sale_goods.id_goods=goods.id_goods and sale_goods.id_sale=sale.id_sale "
+ "where goods.id_goods="+id_goods+" and sale.date between date('"+dateStart+"') and date('"+dateEnd+"');");
resSet.next();
num = resSet.getInt("count()");
return num;
}
}
Comments