Как остановить дублирование элементов в поле со списком Java

Хорошо, я делаю POS-систему для стационарного магазина, клиенту нужно ввести данные о продаже фотокопий в свою систему, поэтому я ввел размер формата бумаги, цвет и цену соответственно в базу данных MySQL. Например

A4 односторонняя Ч/Б $1 Двусторонняя А4 ч/б 2$ A4 односторонняя цветная 3$ Двойной цвет А4 4$

теперь проблема в том, что когда я заполняю поле со списком столбцом, данные будут дублироваться

Например А4 А4 А4 А4

это потому, что я ввел 4 раза A4 в базу данных, что мне нужно сделать, так это когда я нажимаю на поле со списком, я должен показывать только 1 A4

Я подключил поле со списком к базе данных

   try {

        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/photocopy","root","");

        String sql = "SELECT * FROM `prices`";
        PreparedStatement pstmt = conn.prepareStatement(sql);
        ResultSet rs =pstmt.executeQuery();

        while(rs.next()){


        String pathayo = rs.getString("color");



        jComboBox3.addItem(pathayo);




        }


    } catch (Exception e) {
    }

Мне нужно показать только А4 один раз, а не 4 раза

проверьте эти изображения плз

проверьте эти изображения плз

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
61
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вот первопричина. У вас есть 4 столбца, однако вы извлекаете только 1 столбец 4 раза. Используйте ниже в качестве примера.

while (rs.next()) {
            String coffeeName = rs.getString("COF_NAME");
            int supplierID = rs.getInt("SUP_ID");
            float price = rs.getFloat("PRICE");
        }

В вашем случае исправить очень просто:

String pathayo = null;
while(rs.next()){
   pathayo = rs.getString("color");        
}
if (pathayo != null) jComboBox3.addItem(pathayo);

Вы имеете в виду, если я возьму jComboBox3.addItem(pathayo); он не добавит все элементы, а только один раз точно?

Kriss Sachintha 28.05.2019 21:45

Сэр, если вы можете проверить фотографию базы данных, которая прикреплена

Kriss Sachintha 28.05.2019 21:45

Я пробовал, но не могу понять, когда перемещаю jComboBox3.addItem(pathayo); из цикла строка pathayo не распознается, строка pathayo является результатом поиска в базе данных

Kriss Sachintha 28.05.2019 21:51

Как это исправить, мне нужна только одна строка

Kriss Sachintha 28.05.2019 21:56

предложите свой ответ, попробуйте.

Qingfei Yuan 28.05.2019 21:59

Другие вопросы по теме