Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java: Базы данных
Войти
Регистрация
Восстановить пароль
 
bazJaz
35 / 32 / 21
Регистрация: 11.07.2014
Сообщений: 390
#1

Не могу добавить данные в таблицу

02.08.2014, 19:04. Просмотров 371. Ответов 0
Метки нет (Все метки)

Я создал окно с таблицей которая заполняется с mysql есть кнопка добавить, добавить данные в таблицу но я хочу добавить в базу данных а после обновить таблицу. но при добавлении в БД ругает Exception
Строки ошибок не совпадают с кодом потому что удалил import`ы
Кликните здесь для просмотра всего текста
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
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at table.ConnectDataBase.updetaQuery(ConnectDataBase.java:67)
    at table.Table$ListenerButton.actionPerformed(Table.java:103)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6527)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    at java.awt.Component.processEvent(Component.java:6292)
    at java.awt.Container.processEvent(Container.java:2234)
    at java.awt.Component.dispatchEventImpl(Component.java:4883)
    at java.awt.Container.dispatchEventImpl(Container.java:2292)
    at java.awt.Component.dispatchEvent(Component.java:4705)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
    at java.awt.Container.dispatchEventImpl(Container.java:2278)
    at java.awt.Window.dispatchEventImpl(Window.java:2739)
    at java.awt.Component.dispatchEvent(Component.java:4705)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
    at java.awt.EventQueue.access$400(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.awt.EventQueue$3.run(EventQueue.java:691)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:719)
    at java.awt.EventQueue$4.run(EventQueue.java:717)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Реализация:
Кликните здесь для просмотра всего текста
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
public class Table{
    ConnectDataBase connection = new ConnectDataBase("localhost","root","1","book");
    private String str;
    JFrame f = new JFrame();
    JFrame table = new JFrame();
    JLabel labelName = new JLabel();
    JLabel labelAuthor = new JLabel();
    JLabel labelYear = new JLabel();
    JTextField fieldName = new JTextField(20);
    JTextField fieldAuthor = new JTextField(20);
    JTextField fieldYear = new JTextField(20);
        JButton but1 = new JButton("add");
    public static void main(String[] args) {
        Table t = new Table();
        t.window();
    }
    public void window(){
        connection.initProperties();
        connection.init();
        f.setSize(new Dimension(1000, 600));
        f.setTitle("table");
        f.setLocationRelativeTo(null);
        f.setLayout(new GridBagLayout());
        f.setResizable(false);
        f.setDefaultCloseOperation(EXIT_ON_CLOSE);
        JButton add = new JButton("add");
        add.addActionListener(new addListener());
        JButton del = new JButton("del");
        JButton clear = new JButton("clear");
        ModelTable mt = new ModelTable();
        JTable table = new JTable(mt);
        JScrollPane tableJScrollPane = new JScrollPane(table);
        tableJScrollPane.setPreferredSize(new Dimension(800, 600));
        f.add(tableJScrollPane,new GridBagConstraints(0,0,3,1,1,1,GridBagConstraints.NORTH,
                GridBagConstraints.HORIZONTAL,new Insets(1, 1, 1, 1),0,0));
        f.add(add,new GridBagConstraints(0,1,1,1,1,1,GridBagConstraints.NORTH,
                GridBagConstraints.HORIZONTAL,new Insets(1, 1, 1, 1),0,0));
        f.add(del,new GridBagConstraints(1,1,1,1,1,1,GridBagConstraints.NORTH,
                GridBagConstraints.HORIZONTAL,new Insets(1, 1, 1, 1),0,0));
        f.add(clear,new GridBagConstraints(2,1,1,1,1,1,GridBagConstraints.NORTH,
                GridBagConstraints.HORIZONTAL,new Insets(1, 1, 1, 1),0,0));
        //mt.addData(connection);
        f.setVisible(true);
        f.pack();
    }
    public void addDataWindow(){
        
        table.setSize(new Dimension(400, 400));
        table.setTitle("add data");
        table.setLocationRelativeTo(null);
        table.setLayout(new GridBagLayout());
        table.setResizable(false);
        table.setDefaultCloseOperation(EXIT_ON_CLOSE);
        but1.addActionListener(new ListenerButton());
        labelName.setText("name ");
        labelAuthor.setText("writer ");
        labelYear.setText("year ");
        table.add(labelName,new GridBagConstraints(0,0,1,1,1,1,GridBagConstraints.NORTH,
                GridBagConstraints.HORIZONTAL,new Insets(1, 1, 1, 1),0,0));
        table.add(labelAuthor,new GridBagConstraints(0,1,1,1,1,1,GridBagConstraints.NORTH,
                GridBagConstraints.HORIZONTAL,new Insets(1, 1, 1, 1),0,0));
        table.add(labelYear,new GridBagConstraints(0,2,1,1,1,1,GridBagConstraints.NORTH,
                GridBagConstraints.HORIZONTAL,new Insets(1, 1, 1, 1),0,0));
        table.add(fieldName,new GridBagConstraints(1,0,2,1,1,1,GridBagConstraints.NORTH,
                GridBagConstraints.HORIZONTAL,new Insets(1, 1, 1, 1),0,0));
        table.add(fieldAuthor,new GridBagConstraints(1,1,2,1,1,1,GridBagConstraints.NORTH,
                GridBagConstraints.HORIZONTAL,new Insets(1, 1, 1, 1),0,0));
        table.add(fieldYear,new GridBagConstraints(1,2,2,1,1,1,GridBagConstraints.NORTH,
                GridBagConstraints.HORIZONTAL,new Insets(1, 1, 1, 1),0,0));
        table.add(but1,new GridBagConstraints(0,4,3,1,1,1,GridBagConstraints.NORTH,
                GridBagConstraints.HORIZONTAL,new Insets(1, 1, 1, 1),0,0));
        table.pack();
        table.setVisible(true);
    }
    public class addListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent ae) {
            Table t = new Table();
            t.addDataWindow();
        }    
    }
    public class ListenerButton implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent ae) {
            connection.updetaQuery("INSERT INTO books(name, author, year)VALUES('"+fieldName.getText()+"','"+fieldAuthor.getText()+"','"+fieldYear.getText()+"')");
        }    
    }
}

Кликните здесь для просмотра всего текста
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
public class ModelTable extends AbstractTableModel{
    private int columtCount = 4;
    private ArrayList<String []> dataArrayList;
    public ModelTable(){
        dataArrayList = new ArrayList<String []>();
        for (int i = 0; i < dataArrayList.size(); i++) {
            dataArrayList.add(new String[getColumnCount()]);
        }        
    }
    @Override
    public int getRowCount() {
        return dataArrayList.size();
    }
    @Override
    public int getColumnCount() {
        return columtCount;
    }
    @Override
    public String getColumnName(int columnIndex){
        switch(columnIndex){
            case 0: return "#id";
            case 1: return "name";
            case 2: return "writer";
            case 3: return "year";
        }
        return "";
    }
    
    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        String []row = dataArrayList.get(rowIndex);
        return row[columnIndex];
    }
    
    
    public void addData(String []row){
        String []rowTable = new String[getColumnCount()];
        rowTable = row;
        dataArrayList.add(rowTable);
    }
    public void addData(ConnectDataBase connect){
        ResultSet result = connect.query("SELECT * FROM books");
        dataArrayList.clear();
        try {
            while(result.next()){
                String id = result.getString("id");
                String name = result.getString("name");
                String author = result.getString("author");
                String year = result.getString("year");
                
                String []row = {id, name, author, year};
                addData(row);
            }
        result.close();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }
}

Кликните здесь для просмотра всего текста
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
package table;
 
public class ConnectDataBase {
    private String host;
    private String root;
    private String password;
    private String nameDb;
    private String url;
    private Properties properties = new Properties();
    private Connection mysqlConnect;
    public ConnectDataBase(String host,String root,String password,String nameDb){
        this.host = host;
        this.nameDb = nameDb;
        this.password = password;
        this.root = root;
    }
    public void init(){
        if(mysqlConnect == null){
           try {
                Class.forName("com.mysql.jdbc.Driver");
                mysqlConnect = DriverManager.getConnection(url,root,password);
            } catch (SQLException ex) {
                ex.printStackTrace();
            }catch (ClassNotFoundException ex) {
                ex.printStackTrace();
        }
    }
    }
    public void initProperties(){
        url = "jdbc:mysql://"+host+"/"+nameDb;
        properties.setProperty("user", root);
        properties.setProperty("password", password);
        properties.setProperty("characterEncoding", "UTF-8");
        properties.setProperty("useUnocode","true");
        System.out.println("URL: "+ url);
    }
    
    public void finaliza(){
        try {
            mysqlConnect.close();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }
    
    public ResultSet query(String query){
        ResultSet result = null;
        try {
            Statement stmt = mysqlConnect.createStatement();
            result = stmt.executeQuery(query);
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        return result;
    }
    
    public void updetaQuery(String query){
        try {
            Statement stmt = mysqlConnect.createStatement();
            stmt.executeUpdate(query);
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2014, 19:04
Ответы с готовыми решениями:

Добавить строку в таблицу
Не могу добавить в таблицу. public static void WriteDB(String name, String...

Добавить нужное количество строк в таблицу
Имеется проблема с количеством строк. У меня есть таблица в Mysql где строк к...

Как добавить в таблицу имена файлов
Добрый вечер! Есть БД с таблицей и есть папка с кучей файлов. Вопрос: ...

Не добавляются данные в таблицу MySQL
Добрый день всем! Столкнулся с проблемой. Есть БД MySQL. В ней 5 таблиц. Все...

Не могу открыть тему и добавить ответ
какая-то выхухоль засела... С 5-ти раз не удалось открыть ни тему, ни добавить...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2014, 19:04

Введеные пользователем данные в техтовое поле нужно добавить в бзу данных
Введеные пользователем данные в техтовое поле нужно добавить в бзу данных....

Не могу изменять данные в ODBC
Не могу изменять данные в ODBC......в чем проблемм ??? Подскажите...

Не могу получить данные по валидному url
Здравствуйте! Проблема следующая. Есть валидный файл с url...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru