OneCompiler

6666

1627

import java.sql.*;
import java.util.Scanner;

public class ComplaintSearch {
private static final Scanner scanner = new Scanner(System.in);

// Database connection method
private static Connection connect() throws Exception {
    Class.forName("org.sqlite.JDBC");
    return DriverManager.getConnection("jdbc:sqlite:D:\\Users\\2779701\\Desktop\\sqlite\\mydatabase.db");
}

public static void main(String[] args) {
    try {
        System.out.print("Enter Consumer ID to view complaints: ");
        int searchID = scanner.nextInt();

        // Search for complaints based on Consumer ID
        searchComplaintsByConsumerID(searchID);
    } catch (Exception e) {
        System.out.println("An error occurred: " + e.getMessage());
    }
}

// Method to search for complaints by Consumer ID
private static void searchComplaintsByConsumerID(int consumerID) throws Exception {
    String sql = """
        SELECT consumer_number, customer_name, complaint_type, category, problem, mobile_number, 'status'
        FROM complaints WHERE consumer_number = ?
    """;

    Connection conn = connect();
    PreparedStatement pstmt = conn.prepareStatement(sql);
    pstmt.setInt(1, consumerID);
    ResultSet rs = pstmt.executeQuery();

    System.out.println("\nConsumer ID  | Customer Name        | Complaint Type   | Category         | Problem Description  | Mobile Number  | Status");
    System.out.println("---------------------------------------------------------------------------------------------------------------");

    boolean foundComplaint = false;

    while (rs.next()) {
        Complaint complaint = new Complaint(
            rs.getInt("consumer_number"),
            rs.getString("customer_name"),
            rs.getString("complaint_type"),
            rs.getString("category"),
            rs.getString("problem"),
            rs.getString("mobile_number"),
            rs.getString("status")
        );
        complaint.display();
        foundComplaint = true;
    }

    if (!foundComplaint) {
        System.out.println("No complaints found for Consumer ID: " + consumerID);
    }

    rs.close();
    pstmt.close();
    conn.close();
}

}