package bazy.a_poczatek;

import javax.swing.*;
import java.math.BigDecimal;
import java.sql.*;

public class OdczytajNiektoreRekordy3 {
// Wersja poprawna: wydajna i bezpieczna. Używa parametrów pozycyjnych JDBC.

    public static void main(String[] args) {
        try (Connection c = DriverManager.getConnection(
                "jdbc:postgresql://vps497901.ovh.net:5432/hr",
                "kurs",
                "vps497901_abc123")) {

            String szukanyJob = JOptionPane.showInputDialog("Podaj kod stanowiska", "IT_PROG");
            // Wypisz tylko pracowników, którzy mają takie job_id

            try(PreparedStatement stmt = c.prepareStatement("SELECT * FROM employees WHERE job_id = ?")) {
                stmt.setString(1, szukanyJob);
                System.out.println("Zaraz wykonam: " + stmt);
                try(ResultSet rs = stmt.executeQuery()) {
                    while (rs.next()) {
                        int id = rs.getInt(1);
                        String firstName = rs.getString(2);
                        String lastName = rs.getString(3);
                        String job = rs.getString("job_id");
                        BigDecimal salary = rs.getBigDecimal("salary");
                        System.out.printf("%d: %s %s (%s) zarabia %s\n", id, firstName, lastName, job, salary);
                    }
                }
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
