Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.sql.SQLException;
- import java.sql.*;
- import oracle.sql.*;
- import oracle.jdbc.*;
- import com.sun.java_cup.internal.runtime.Scanner;
- public class main {
- public static void main(String[] args) throws SQLException {
- try {
- Connection conn = null;
- int codigo, ano;
- float preco;
- String fabricante, pais, modelo;
- DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
- conn = DriverManager.getConnection("jdbc:oracle:thin:@139.82.3.27:1521:ORCL", "BD3_1111077", "BD3_1111077");
- String query;
- System.out.println("Digite 0 (zero) para finalizar");
- do {
- System.out.println("Selecione uma das seguintes opções:");
- System.out.println("Criar a base - 1");
- System.out.println("Consultar a lista de automoveis - 2");
- System.out.println("Consultar um carro por codigo - 3");
- System.out.println("Criar um carro - 4");
- System.out.println("Atualizar o preco de um carro - 5");
- System.out.println("Remover um carro - 6");
- System.out.println("Executar um comando SQL - 7");
- BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
- try {
- int i = Integer.parseInt(buf.readLine());
- if (i == 0) {
- conn.close();
- System.exit(0);
- } else if (i == 1) {
- createBase(conn);
- } else if (i == 2) {
- showCars(conn, 0);
- } else if (i == 3) {
- System.out.println("Informe o codigo do carro desejado:");
- codigo = Integer.parseInt(buf.readLine());
- showCars(conn, codigo);
- } else if (i == 4) {
- System.out.println("Informe o codigo do novo carro:");
- codigo = Integer.parseInt(buf.readLine());
- if(codigoExists(conn, codigo)) {
- System.out.println("O codigo solicitado já está cadastrado!!\n");
- continue;
- }
- System.out.println("Informe o fabricante do novo carro:");
- fabricante = buf.readLine();
- System.out.println("Informe o modelo do novo carro:");
- modelo = buf.readLine();
- System.out.println("Informe o ano do novo carro:");
- ano = Integer.parseInt(buf.readLine());
- System.out.println("Informe o preço do novo carro:");
- preco = Float.parseFloat(buf.readLine());
- System.out.println("Informe o pais do novo carro:");
- pais = buf.readLine();
- createCar(conn, codigo, fabricante, modelo, ano, preco, pais);
- } else if (i == 5) {
- System.out.println("Informe o codigo do novo carro:");
- codigo = Integer.parseInt(buf.readLine());
- if(!codigoExists(conn, codigo)) {
- System.out.println("O codigo solicitado não está cadastrado!!\n");
- continue;
- }
- System.out.println("Informe o novo preço do carro:");
- preco = Float.parseFloat(buf.readLine());
- updatePrice(conn, codigo, preco);
- } else if (i == 6) {
- System.out.println("Informe o codigo do novo carro:");
- codigo = Integer.parseInt(buf.readLine());
- if(!codigoExists(conn,codigo)) {
- System.out.println("O codigo solicitado não está cadastrado!!\n");
- continue;
- }
- removeCar(conn, codigo);
- } else if (i == 7) {
- System.out.println("Informe o comando a ser executado:");
- String command = buf.readLine();
- execCommand(conn, command);
- } else {
- System.out.println("Digite uma opção valida.");
- }
- } catch (NumberFormatException e) {
- System.out.println("Digite uma opção valida.");
- }
- } while(true);
- } catch (IOException e) {
- System.out.println(e);
- }
- }
- private static void createBase(Connection conn) {
- String createQuery = "CREATE TABLE Automoveis ( " +
- "codigo NUMBER(5) NOT NULL , " +
- "ano NUMBER (2) NOT NULL , " +
- "Fabricante VARCHAR2(20) NULL , " +
- "Modelo VARCHAR2(20) NULL , " +
- "Preco_Tabela NUMBER(15,2) NULL , " +
- "Pais VARCHAR2(20) NULL , " +
- "Primary Key (codigo) )";
- String insertChevrolet = "insert into automoveis " +
- "(codigo, fabricante, modelo, ano, preco_tabela, pais) " +
- "values (1031, 'Chevrolet', 'Chevette', '92', 7200.00, 'EUA' )";
- String insertCitroen = "insert into automoveis (codigo , fabricante, modelo, ano, preco_tabela, pais) " +
- "values (1041, 'Citroen', 'AX', '95', 25000.00 , 'Franca')";
- String insertFord = "insert into automoveis (codigo, fabricante, modelo, ano, preco_tabela, pais) " +
- "values (1022, 'Ford', 'Del Rey', '85', 4800.00, 'EUA')";
- String insertChevrolet2 = "insert into automoveis (codigo, fabricante, modelo, ano, preco_tabela, pais) " +
- "values (1050, 'Chevrolet', 'Chevette', '93', 7900.00, 'EUA')";
- String update = "update automoveis set preco_tabela = 40000 where codigo = 1022";
- String delete = "delete from automoveis where codigo = 1041";
- try {
- //Criando a base
- Statement stmt = conn.createStatement();
- //Populando
- stmt.executeUpdate(createQuery);
- stmt.executeUpdate(insertChevrolet);
- stmt.executeUpdate(insertCitroen);
- stmt.executeUpdate(insertFord);
- stmt.executeUpdate(insertChevrolet2);
- //Atualizando
- stmt.executeUpdate(update);
- stmt.executeUpdate(delete);
- stmt.close();
- conn.close();
- } catch (SQLException e) {
- System.out.println(e);
- }
- }
- private static void showCars(Connection conn, int codigo) {
- String selectCars = "SELECT FABRICANTE, MODELO, ANO, PRECO_TABELA FROM AUTOMOVEIS";
- if(codigo != 0) {
- selectCars += " WHERE CODIGO = " + codigo;
- }
- try {
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery(selectCars);
- System.out.format("%12s%12s%6s%18s%n", "FABRICANTE", "MODELO", "ANO", "PRECO");
- while(rs.next()) {
- System.out.format("%12s%12s%6d%18f%n", rs.getString("FABRICANTE"), rs.getString("MODELO"), rs.getInt("ANO"), rs.getFloat("PRECO_TABELA"));
- }
- System.out.println("");
- rs.close();
- stmt.close();
- } catch (SQLException e) {
- System.out.println(e);
- }
- }
- private static void createCar(Connection conn, int codigo, String fabricante, String modelo, int ano, float preco, String pais) {
- String createCar = "INSERT INTO AUTOMOVEIS VALUES (" + codigo + ", '" + ano + "', '" + fabricante + "', '" + modelo + "', " + preco + ", '" + pais + "')";
- try {
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery(createCar);
- rs.close();
- stmt.close();
- } catch (SQLException e) {
- System.out.println(e);
- }
- }
- private static void updatePrice(Connection conn, int codigo, float preco) {
- String updatePrice = "UPDATE AUTOMOVEIS SET Preco_Tabela = " + preco + " WHERE codigo = " + codigo;
- try {
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery(updatePrice);
- rs.close();
- stmt.close();
- } catch (SQLException e) {
- System.out.println(e);
- }
- }
- private static void removeCar(Connection conn, int codigo) {
- String removeCar = "DELETE FROM AUTOMOVEIS WHERE codigo = " + codigo;
- try {
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery(removeCar);
- rs.close();
- stmt.close();
- } catch (SQLException e) {
- System.out.println(e);
- }
- }
- private static void execCommand(Connection conn, String command) {
- try {
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery(command);
- //TODO Parsear a string de execucao para decidir como (e se) os dados vao ser exibidos
- String[] parts = command.split(" ");
- for(int i = 0; i < parts.length; i++) {
- System.out.println(parts[i]);
- }
- rs.close();
- stmt.close();
- } catch (SQLException e) {
- System.out.println(e);
- }
- }
- private static boolean codigoExists(Connection conn, int codigo) {
- String codigoExists = "SELECT * FROM AUTOMOVEIS WHERE CODIGO = " + codigo;
- try {
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery(codigoExists);
- if(rs.next()) {
- rs.close();
- stmt.close();
- return true;
- }
- rs.close();
- stmt.close();
- } catch (SQLException e) {
- System.out.println(e);
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement