This is my java method:
    public static boolean addEmployee(Employee employee) {
        String sql = "SELECT addemployee(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);";
        try (Connection conn = connect();
             PreparedStatement ps = conn.prepareStatement(sql)) {
            ps.setString(1, employee.getFirstName());
            .
            .
            .
            ps.execute();
            return true;
        } catch (SQLException e) {
            showMessageDialog(null, e.getMessage());
            System.out.println(e.getMessage());
        }
        return false;
    }
This is my PostgreSQL function:
CREATE OR REPLACE FUNCTION addEmployee(. . .)
    RETURNS BOOLEAN AS
$$
DECLARE
    existsCheck BOOLEAN;
    iddd        INTEGER;
BEGIN
    SELECT EXISTS(SELECT ed.username
                  FROM employee_data ed
                  WHERE ed.username = usernameAdd)
    INTO existsCheck;
    IF (SELECT existsCheck = FALSE) THEN
       .
       .
       .
    ELSE
        RAISE EXCEPTION 'Nazwa użytkownika jest zajęta!';
    END IF;
    RETURN TRUE;
END ;
$$
When the exception is thrown, I get such a message dialog:
[image]
Error message is gotten when I try to register and the username I put already exists. So I get the alert “Username is taken by someone, try else” (1 line on the screenshot). And I want to print only these words, without this second line on the screenshot.
How can I get rid of this second line?
Advertisement
Answer
Use String.split() to split tne exception message and print what needed.