Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Evgeniux
0 / 0 / 0
Регистрация: 03.12.2013
Сообщений: 5
0

Выборка данных, подсчет и вывод на экран

17.12.2013, 18:29. Просмотров 680. Ответов 1
Метки (Все метки)

добрый день, всем! Пишу функцию суть которой:
1. Выбирает из таблицы "сотрудники", номера всех сотрудников
2. Подсчитывает из таблицы "заказы", все заказы с выбранными номерами сотрудников
3. Выводит результат в 4 панели (номер сотрудника, сборка, настройка, тестирование) (первая панель номер сотрудника, вторая сколько он собрал ПК, третья - сколько настроил, четвертая - сколько протестировал).

В чем возникли проблемы:
1. Данные выводятся не корректно (рисунок), в каждой панели выводятся и сборка, и настройка, и тесты.
код функции прилагаю:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
private void selectUsersSborka() {
        try {
 
            final Connection con = MySQLCon.createCon();
            String fromDay = (String) cmbFromDay.getSelectedItem();
            String fromMonth = ((Item) cmbFromMonth.getSelectedItem()).getId();
            String fromYear = (String) cmbFromYear.getSelectedItem();
 
            String doDay = (String) cmbDoDay.getSelectedItem();
            String doMonth = ((Item) cmbMonthDo.getSelectedItem()).getId();
            String doYear = (String) cmbDoYear.getSelectedItem();
 
            String sql = "SELECT * FROM spr_users WHERE status='1'";
            String dateBegin = "" + fromYear + "-" + fromMonth + "-" + fromDay + "";
            String dateEnd = "" + doYear + "-" + doMonth + "-" + doDay + "";
 
         //  String sql1 = "SELECT count(sborka), count(nastroika), count(testirovanie)  FROM zakaz WHERE sborka = ? and nastroika = ? and testirovanie = ? and data_zakaza BETWEEN '" + dateBegin + "' and '" + dateEnd + "'";
           
          //String  sql1 ="SELECT sborka, COUNT(*) FROM zakaz WHERE sborka = ? UNION SELECT nastroika, COUNT(*) FROM zakaz WHERE nastroika = ? UNION  SELECT testirovanie, COUNT(*) FROM zakaz WHERE testirovanie = ? and data_zakaza BETWEEN '" + dateBegin + "' and '" + dateEnd + "'";
           String sql1 = "(SELECT COUNT(*) FROM zakaz WHERE `sborka` = ? AND data_zakaza BETWEEN '" + dateBegin + "' and '" + dateEnd + "')\n" +
"UNION\n" +
"(SELECT COUNT(*) FROM zakaz WHERE `nastroika` = ? AND data_zakaza BETWEEN '" + dateBegin + "' and '" + dateEnd + "')\n" +
"UNION\n" +
"(SELECT COUNT(*) FROM zakaz WHERE `testirovanie` = ? AND data_zakaza BETWEEN '" + dateBegin + "' and '" + dateEnd + "')";
            Statement stmt = con.createStatement();
            ResultSet res = stmt.executeQuery(sql);
            PreparedStatement prest = con.prepareStatement(sql1);
 
            while (res.next()) {
                String vll = res.getString("user_nomer");
                final Font font = new Font("Verdana", Font.PLAIN, 14);
                showSotrudnik.setLayout(new BoxLayout(showSotrudnik, BoxLayout.Y_AXIS));
                JLabel label = new JLabel(vll);
                label.setSize(100, 30);
                
                label.setAlignmentX(JLabel.CENTER_ALIGNMENT);
                label.setFont(font);
                showSotrudnik.add(label);
                //jPanel2.repaint();
                showSotrudnik.validate();
                prest.setString(1, vll);
                prest.setString(2, vll);
                prest.setString(3, vll);
                ResultSet rs = prest.executeQuery();
                while (rs.next()) {
                    int sborkaCount = rs.getInt(1);
                    String nastroikaCount = rs.getString(1);
                     int testirovanieCount = rs.getInt(1);
                    String userNomerSborka = String.valueOf(sborkaCount);
                    showSborka.setLayout(new BoxLayout(showSborka, BoxLayout.Y_AXIS));
                    JLabel labelSborka = new JLabel(userNomerSborka);
                    labelSborka.setSize(100, 30);
                    labelSborka.setAlignmentX(JLabel.CENTER_ALIGNMENT);
                    labelSborka.setFont(font);
                    showSborka.add(labelSborka);
                    // jPanel3.repaint();
                    showSborka.validate();
                    showNastroika.setLayout(new BoxLayout(showNastroika, BoxLayout.Y_AXIS));
                    JLabel labelNastroika = new JLabel(nastroikaCount);
                    labelNastroika.setSize(100, 30);
                    labelNastroika.setAlignmentX(JLabel.CENTER_ALIGNMENT);
                    labelNastroika.setFont(font);
                    showNastroika.add(labelNastroika);
                    // jPanel3.repaint();
                    showNastroika.validate();
                    String userNomerTestirovanie = String.valueOf(testirovanieCount);
                    showTestirovanie.setLayout(new BoxLayout(showTestirovanie, BoxLayout.Y_AXIS));
                    JLabel labelTestirovanie = new JLabel(userNomerTestirovanie);
                    labelTestirovanie.setSize(100, 30);
                    labelTestirovanie.setAlignmentX(JLabel.CENTER_ALIGNMENT);
                    labelTestirovanie.setFont(font);
                    showTestirovanie.add(labelTestirovanie);
                    // jPanel3.repaint();
                    showTestirovanie.validate();
                     }
               
               
 
            }
 
        } catch (SQLException ex) {
            Logger.getLogger(StatisticUsers.class.getName()).log(Level.SEVERE, null, ex);
        }
 
    }


Вернуться к обсуждению:
Выборка данных, подсчет и вывод на экран
0
Миниатюры
Выборка данных, подсчет и вывод на экран  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 18:29
Готовые ответы и решения:

выборка данных
итак здраствуйте... Требуется написать скрипт для Greasemonkey Что должен...

JDBC: эфективная выборка данных
Необходимо получить много данных (миллионы строк) из субд оракл через jdbc. Как...

StringGrid анализ, выборка и подсчет данных
Доброго времени суток! Такой вопрос: у меня есть StringGrid в который...

Моментальный подсчет и вывод на экран
Добрый день! Каким образом в JS реализуется моментальный подсчет, то есть я...

Подсчет ФПС и вывод на экран
Задача состоит в том , чтобы подсчитать ФПС в игре, подсчитанное значение...

1
Другие темы раздела
Java БД Jar + MySQL = exe ? http://www.cyberforum.ru/java-database/thread1045566.html
Здравствуйте. Такая проблема: есть gui-приложение на java с использованием баз данных mysql. Необходимо сделать инсталлятор, чтобы сие чудо установилось и запустилось в итоге на другом компьютере....
Java БД Результат запроса в ComboBox Извините за глупый вопрос, но как всё-таки занести результат запроса в комбобокс? вот так почему-то не получается: JComboBox id, ves, idp; String a = new String ; public met(String... http://www.cyberforum.ru/java-database/thread1044605.html
Java БД БД Access интерфейс NetBeans
подскажите пожалуйста новичку, как вывести таблицу Accsess на форму? Подключение БД работает и имя таблицы взять можно (подключение к бд не через администрирование, а прописано кодом). а на эту же...
Java БД ResultSet не определяется
Всем доброго времени суток, уважаемые форумчане! Сразу к делу. Взял коннектор с оф. сайта MySQL, 5-я версия. Пишу на NetBeans, сервер Apache -- все как положено. Код следующий: public void...
Java БД Трехзвенка на Java http://www.cyberforum.ru/java-database/thread1033153.html
Пишу на Java интерфейс к БД oracle, хочу сделать 3-х звенку, просто через jdbc уже с базой поработал, теперь хочется, что-бы клиент был тонким, вся логика лежала на сервере базы данных, на сколько я...
Java БД Простой jdbc стоит oracle 11g xe скачал ojdbc6 и добавил в проект выдает ошибку при попытке запуска вот этого package oracle; import java.sql.*; public class condb { public static void main(){ try{ подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru