Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для иван я
17 / 17 / 16
Регистрация: 15.12.2012
Сообщений: 536

Вставка и вывод из БД

14.11.2015, 14:30. Показов 627. Ответов 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
 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
        while (model.getRowCount() > 0) {
            model.removeRow(0);
        }
        int g = 0;
        try {
            st = conn.createStatement();
            ResultSet resultSet = st.executeQuery("SELECT * FROM reports2016 "); //
            resultSet.last();                                               //Определение количества строк в БД
            rowCount1 = resultSet.getRow();  //
            String month = (String) jComboBox3.getSelectedItem();
            if (!"За все месяца".equals(month)) {
 
                rs = st.executeQuery("SELECT * FROM reports2016 WHERE month='" + month + "' AND year='" + jComboBox4.getSelectedItem() + "'");
 
                int stroka = 0;
                while (rs.next()) {
                    if (g < rowCount1) {
                        Vector row = null;
                        ((DefaultTableModel) jTable1.getModel()).addRow(row);
 
                        g++;
                    }
 
                    jTable1.setValueAt(rs.getString(1), stroka, 0);//вывод в таблицу "строка столбец"
                    jTable1.setValueAt(rs.getString(2), stroka, 1);
                    jTable1.setValueAt(rs.getString(3), stroka, 2);
                    jTable1.setValueAt(rs.getString(4), stroka, 3);
                    jTable1.setValueAt(rs.getString(5), stroka, 4);
                    jTable1.setValueAt(rs.getString(6), stroka, 5);
                    jTable1.setValueAt(rs.getString(7), stroka, 6);
                    jTable1.setValueAt(rs.getString(8), stroka, 7);
                    stroka++;
                }
            } else {
                rs = st.executeQuery("SELECT * FROM reports2016 ");
 
                int stroka = 0;
                while (rs.next()) {
                    if (g < rowCount1) {
                        Vector row = null;
                        ((DefaultTableModel) jTable1.getModel()).addRow(row);
 
                        g++;
                    }
                    jTable1.setValueAt(rs.getString(1), stroka, 0);//вывод в таблицу "строка столбец"
                    jTable1.setValueAt(rs.getString(2), stroka, 1);
                    jTable1.setValueAt(rs.getString(3), stroka, 2);
                    jTable1.setValueAt(rs.getString(4), stroka, 3);
                    jTable1.setValueAt(rs.getString(5), stroka, 4);
                    jTable1.setValueAt(rs.getString(6), stroka, 5);
                    jTable1.setValueAt(rs.getString(7), stroka, 6);
                    jTable1.setValueAt(rs.getString(8), stroka, 7);
                    stroka++;
                }
            }
            st.close();
        } catch (CommunicationsException e) {
            JOptionPane.showMessageDialog(null, "БД не подключена");
        } catch (SQLException ex) {
            Logger.getLogger(DIpp.class.getName()).log(Level.SEVERE, null, ex);
        }
    }                                        
 
    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        String replace = jTextField9.getText().replace(" ", "");
        jTextField9.setText(replace);
        if (!"".equals(jTextField9.getText())) {
            jComboBox4.addItem("Отчет за " + jTextField9.getText());
            //year= jComboBox4.getSelectedItem();
            jTextField9.setText("");
        } else {
            JOptionPane.showMessageDialog(null, "Введите год");
        }
    }
код кнопки которая вызывает дочернюю форму для редактирования
Java
1
2
3
String currow = jTable1.getModel().getValueAt(jTable1.convertRowIndexToModel(jTable1.getSelectedRow()), 0).toString();
        Okno Red = new Okno(currow); //Создание нового фрейма
        Red.setVisible(true); //Отображение нового фрейма
и код дочерней формы
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
public class Okno extends javax.swing.JFrame {
 
    static Connection conn = null;
    Statement st = null;
    ResultSet rs = null;
    String fg;
 
    /**
     * Creates new form Okno
     */
    public Okno() {
 
        initComponents();
 
 
    }
 
    Okno(final String b) {
        try {
            this.setTitle("Редактирование записи");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/vanek?user=root&password=");
            st = DIpp.conn.createStatement();
            initComponents();
            jButton1.setText("Редактировать");
            rs = st.executeQuery("SELECT * FROM reports2016 WHERE id=" + b);
            while (rs.next()) {
                jTextField1.setText(rs.getString(1));
                jTextField2.setText(rs.getString(2));
                jTextField3.setText(rs.getString(3));
                jTextField4.setText(rs.getString(4));
                jTextField5.setText(rs.getString(5));
                jTextField6.setText(rs.getString(6));
                jTextField7.setText(rs.getString(7));
                jTextField8.setText(rs.getString(8));
                jTextField9.setText(rs.getString(9));
                jTextField10.setText(rs.getString(10));
                jTextField11.setText(rs.getString(11));
                jTextField12.setText(rs.getString(12));
            }            
            jButton1.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    String pp, kp;
                    pp = jTextField1.getText();
                    kp = jTextField2.getText();
                    try {
 
                        st = DIpp.conn.createStatement();
                        //  System.out.println("UPDATE reports2016 SET id='"+pp+"',the_content_of_the_record='" +kp + "'    WHERE id='" +b + "' ");
                        st.executeUpdate("UPDATE reports2016 SET id='" + pp + "',the_content_of_the_record='" + kp + "'    WHERE id='" + b + "' ");
                    } catch (SQLException ex) {
                        Logger.getLogger(Okno.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            });
            
            st.close();
        } catch (SQLException ex) {
            Logger.getLogger(Okno.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.11.2015, 14:30
Ответы с готовыми решениями:

Вывод таблицы из БД и вставка её в html код
Здравствуйте! Подскажите, как вывести таблицу на сайт из базы данных. Код php я написал. А как передать данные из php файла в html?...

Вставка кода фотогалереи в контент и вывод ее на сайте
На сайте есть фотогалерея. Нужно ее вставить в контент сайта, например с помощью кода {gallery_id=1}. Например, так подключаеться...

Вставка/удаление элемента в массиве, вывод результата
Нужно сделать 3 задачки с масивами : 1.Print которая распечатывает элементы массива 2.Insert Value - вставляет новый элемент по...

1
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
15.11.2015, 15:42
После update выполните
Java
1
conn.commit();
PS. Вот это надо переписать на PreparedStatement
Цитата Сообщение от иван я Посмотреть сообщение
st.executeUpdate("UPDATE reports2016 SET id='" + pp + "',the_content_of_the_record='" + kp + "' WHERE id='" + b + "' ");
Примеры можно посмотреть тут
Java and DB
JDBC FAQ для начинающих
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.11.2015, 15:42
Помогаю со студенческими работами здесь

Вывод точки в графическом режиме (ассемблерная вставка в Паскаль)
Здравствуйте, подскажите пожалуйста как мне решить такую задачу: программу должна быть реализована в Паскале, но с применением...

Реализовать простейшие операции над списком: вставка, удаление, вывод на экран
Народ спасайте! Помогите реализовать простейшие операции над списком: вставка, удаление, вывод на экран. Я уже столько книг перечитал на...

Изменение почтового шаблона, вставка графики в письмо (типа логотипа) + вставка картинки в шаблоне
Здравствуйте) Возникло 2 вопроса. 1)Хочется сделать красивый почтовый шаблон с использованием графики. Возможно ли сделать это...

Вставка пользовательской функции и вывод "Аргумента функции"
Добрый день, Уважаемые гуру Excel VBA. Создал тестовую функцию Function TestF(a As Double) TestF = a - 1 End Function Так же...

Autocad 2013. При повторном открытии /dwg не отображаются файлы /pdf, вставка производилась "вставка .pdf"
Приветствую! Работа производилась в autocad 2013. При повторном открытии /dwg не отображаются файлы /pdf, вставка производилась при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru