Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для Doctor_
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,437

Обновление таблицы с данными из базы данных

14.03.2013, 00:14. Показов 1697. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если форма с таблицей(JTable) с данными и кнопки для:
1) Поиска данных;
2) Удаления записи;
3) Добавления записи.
В данным момент рассматриваю возможность поиска данных, при нажатии на кнопку поиска, выскакивает еще одна форма, в которой находится JComboBox и потом поле в которое надо ввести то что хотим искать. При нажатии поиск, он должен обновить таблицу по фильтру введенным в вторую форму, то бишь показать данные которые искал. Как вот сделать именно обновление(применение фильтра к таблице)?
В моем коде, который представлен ниже, для поиска я использую метод search(), точнее в методе пока по сути ничего и нет, я остановился на том, что не могу понять как обновлять таблицу.
Кликните здесь для просмотра всего текста
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import java.awt.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;
 
public class Arsti extends Administrator {
    JFrame arsti;
    JPanel tablePanel;
    JPanel buttonPanel;
    JTable table;
    JButton quitButton, addButton, searchButton, deleteButton;
    Connection con;
    Statement st;
    ResultSet res;
    Vector columnNames;
    Vector data;
    ResultSetMetaData rsmd;
    
    public Arsti() {
        menu.dispose();
        arsti = new JFrame("Arsti");
        tablePanel = new JPanel();
        buttonPanel = new JPanel();
        quitButton = new JButton("Iziet");
        addButton = new JButton("Pievienot ierakstu");
        searchButton = new JButton("Meklēt ierakstu");
        deleteButton = new JButton("Idzest ieeakstu");
        arsti.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        arsti.setSize(840,300);
        columnNames = new Vector();
        data = new Vector();
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String Base = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ=SL.mdb";
            con = DriverManager.getConnection(Base,"","");
            st = con.createStatement();
            res = st.executeQuery("SELECT * FROM Arsti");
            rsmd = res.getMetaData();
            int column = rsmd.getColumnCount();
            columnNames.addElement("ID");
            columnNames.addElement("Vards");
            columnNames.addElement("Uzvards");
            columnNames.addElement("Dzimums");
            columnNames.addElement("Personas kods");
            columnNames.addElement("Telefona numurs");
            columnNames.addElement("Nodalas ID");
            columnNames.addElement("Amata ID");
            while(res.next()) {
                Vector row = new Vector(column);
                for(int i=1; i<=column; i++) {
                    row.addElement(res.getObject(i));
                }
                data.addElement(row);
            }
            res.close();
            st.close();
        } catch(Exception e) {
            JOptionPane.showMessageDialog(null, "Error with table");
            e.printStackTrace();
        }
        
        table = new JTable(data,columnNames);
        tablePanel = new JPanel(new GridLayout(1,0));
        table.setOpaque(true);
        TableColumn col;
        table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        for(int i=0; i<table.getColumnCount(); i++) {
            col = table.getColumnModel().getColumn(i);
            col.setPreferredWidth(100);
            col.setMaxWidth(500);
        }
        table.setPreferredScrollableViewportSize(new Dimension(500, 500));
        tablePanel.add(new JScrollPane(table));
        buttonPanel.add(addButton);     
        buttonPanel.add(searchButton);
        buttonPanel.add(deleteButton);
        buttonPanel.add(quitButton);
        arsti.add(tablePanel);
        arsti.add(buttonPanel,BorderLayout.SOUTH);
        quitButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evnt1) {
                new Administrator();
                arsti.dispose();
            }
        });
        searchButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evnt1) {
                search();
            }
        });
        arsti.setVisible(true);
    }
    public void search() {
        JButton find = new JButton("Meklēt");
        JButton close = new JButton("Iziet");
        JPanel bP = new JPanel();
        JPanel cP = new JPanel();
        final JFrame finder = new JFrame("Meklēšana");
        String[] items = {
                "ID",
                "Vārds",
                "Uzvards",
                "Dzimums",
                "Telefona Numurs",
                "Nodalas ID"
        };
        JComboBox comboBox = new JComboBox(items);
        finder.setSize(200,200);
        finder.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        bP.add(find);
        bP.add(close);
        cP.add(comboBox);
        finder.add(cP,BorderLayout.NORTH);
        finder.add(bP,BorderLayout.SOUTH);
        finder.setVisible(true);
        close.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evnt) {
                finder.dispose();
            }
        });
        find.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evnt2) {
                
            }
        });
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.03.2013, 00:14
Ответы с готовыми решениями:

Заполнение таблицы базы данных данными из Excel по таймеру
Доброго времени суток. Существует спроектированная БД SQL Server, которая должна заполнятся данными из книги Excel по таймеру (т.е в...

Заполнение Таблицы базы данных данными из документа Word
Всем привет. Начал делать программу тестер. Дали мне данные тестов(вопросы и варианты ответов) все это хранится в word'овском документе....

Обновление таблицы базы данных из DataTable
Приветствую всех. Вот какая проблема надо обновлять таблицу база данных данными из datatable делал так SQLiteCommand command =...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.03.2013, 00:14
Помогаю со студенческими работами здесь

Обновление локальной базы данных из таблицы Excel
Начну сначала. Нужно с файла ексель обновить информацию в локальной базе данных SDF. Есть два файла SDF и excel . Пробовал через...

Обновление строк одной таблицы из другой базы данных по ID
Всем заранее спасибо Есть две БД DbA и DbB в этих базах есть полностью идентичные таблицы DbA.Test ( ID int FoId int HeId...

Обновление базы данными с формы
У меня есть форма, в которой я ввожу определенные значения, и я хочу что бы при нажатии кнопки у меня овновлялись значения в базе(таблице)....

Обновление таблицы Access данными из DGV
Доброго времени суток! Пишу проект, который часто обращается к базе данных Access, иногда выводит таблицы в DataGridView, где они...

Обновление ComboBox с данными из таблицы access
Здравствуйте. Столкнулся со следующей проблемой. В программе присутствует ComboBox в который записываются значения из столбца ФИО...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru