Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как обновить соединение с базой данных, Обновление соединения с базой данных  
:(
    Опции темы
sergei32
Дата 6.9.2020, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 6.9.2020

Репутация: нет
Всего: нет



Не могу понять как обновить подключение к базе данных. Есть таблица данные в которую приходят из базы данных (MS SQL SERVER), для добавление новой записи нажимаю кнопку добавить после чего появляется диалоговое окно, в которое я заношу всю необходимую информацию и нажимаю сохранить. Данные введенные в диалоговом окне сохраняются в базе данных, но таблица после закрытия диалогового окна не обновляется. Я испробовал различные варианты но так и не понял как это сделать.

Вот мой код 

Класс Connect 

Код


public class Connect {
      
     public Connection getConnection(String address,String port,String base, String user, String pasn) throws SQLException{
       
       Connection con;
     
      String connectionUrl= "jdbc:sqlserver://"+address+":"+port+";"
                        + "database="+base+";"
                        + "user="+user+";"
                        + "password="+pasn+";";
           
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            
             con = DriverManager.getConnection(connectionUrl);
             
          
        return con;
        
     
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(ContractorsJInternalFrame.class.getName()).log(Level.SEVERE, null, ex);
            
            return null;
        }
     
    } 
 




класс ContractorsJInternalFrame

Код

 public ContractorsJInternalFrame() throws ClassNotFoundException, SQLException {
         
  initComponents();
        
        Show_JTable();
         
    }
      
    public ArrayList<Contr> contrList() throws ClassNotFoundException{
       ArrayList<Contr>  contrList = new ArrayList<Contr>();
       String path = new File("setting.json").getAbsolutePath();
        JSONParser parser = new JSONParser();
        try (Reader reader = new FileReader(path)) {
            JSONObject jsonObject = (JSONObject) parser.parse(reader);
            log  = (String) jsonObject.get("log");
            pass  = (String) jsonObject.get("pass");
            gen  = (String) jsonObject.get("gen");
            address = (String) jsonObject.get("address");
            port = (String) jsonObject.get("port");
            user = (String) jsonObject.get("user");
            pasn = (String) jsonObject.get("pasn");
            base = (String) jsonObject.get("base");
                
        } catch (IOException e) {
            e.printStackTrace();
        } catch (org.json.simple.parser.ParseException ex) {
            Logger.getLogger(BaseFrame.class.getName()).log(Level.SEVERE, null, ex);
        } 
              try { 
                
                 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                
                 Connect con = new Connect();
             
                 Connection connection = con.getConnection(address, port, base, user, pasn);
               
            
                
                Statement  stmt = connection.createStatement();
                
                ResultSet rs = stmt.executeQuery("SELECT name_contr, email, telephone, manadger FROM Contractors");
                
               Contr contr;
               while (rs.next()) {
                   contr = new Contr(rs.getString("name_contr"),rs.getString("name_contr"),rs.getString("telephone"),rs.getString("manadger"));
                   contrList.add(contr);
                 }
                rs.close();
                
            } catch (SQLException ex) {
                Logger.getLogger(ContractorsJInternalFrame.class.getName()).log(Level.SEVERE, null, ex);
            }
  
        return contrList;
                
    }
     
       
    
    public void Show_JTable() throws ClassNotFoundException{
        
       ArrayList<Contr>  contrList =  contrList();
       
       model = new DefaultTableModel();
    
        model = (DefaultTableModel) Tab.getModel();
     
         Object row [] = new Object[4];
        
        for(int i = 0; i<contrList.size();i++){
            
          row[0]= contrList.get(i).getName_Contr();
          row[1]= contrList.get(i).getEmail();
          row[2]= contrList.get(i).getTelephone();
          row[3]= contrList.get(i).getManadger();
            
            model.addRow(row);
        }
     
     
        
    }
 
    public void executeSql (String sql) throws SQLException, ClassNotFoundException{
      
      Connect con = new Connect();  
      Connection conn = con.getConnection(address,port,base,user,pasn);
      Statement  stmt = conn.createStatement();
      stmt.executeUpdate(sql);
   
     }
    

  
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         

     new NewDocumentContr(null,closable).setVisible(true);
      
    }                                     



класс NewDocumentContr

Код


public class NewDocumentContr extends javax.swing.JDialog {
 
    public String address;
    public String port;
    public String user;
    public String pasn;
    public String base;
    
    public NewDocumentContr(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        
        
    }

   
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
     dispose();
    }                                        

    private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                               
        
        
        try {
          
            ContractorsJInternalFrame ct = new ContractorsJInternalFrame();
            String query = "INSERT INTO Contractors (name_contr,short_title,inn,kpp,address,email,manadger,telephone) VALUES ('"+TF1.getText()+"','"+TF2.getText()+"','"+TF3.getText()+"','"+TF4.getText()+"','"+TF5.getText()+"','"+TF6.getText()+"','"+TF7.getText()+"','"+TF8.getText()+"')";
            ct.executeSql(query);
                    
              } catch (ClassNotFoundException ex) {
            Logger.getLogger(NewDocumentContr.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(NewDocumentContr.class.getName()).log(Level.SEVERE, null, ex);
        }
        
         dispose();
       
    }                                              

    private void formWindowClosing(java.awt.event.WindowEvent evt) {                                   
      
    }                                  

    private void formWindowClosed(java.awt.event.WindowEvent evt) {                                  
  
    }                                 

    public static void main(String args[]) {
     

        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                NewDocumentContr dialog = new NewDocumentContr(new javax.swing.JFrame(), true);
                dialog.addWindowListener(new java.awt.event.WindowAdapter() {
                    @Override
                    public void windowClosing(java.awt.event.WindowEvent e) {
                          System.exit(0);
                      
                    }
                });
                dialog.setVisible(true);
            }
        });
    }




Логика работы приложения: 
1. На главной форме таблица с отображением информации из базы данных MSSQL
2. При нажатии на кнопку добавить появляется диалоговое окно куда заносится информация и после нажатия кнопки сохранить диалоговое окно закрывается а новая запись отображается в таблице на главной форме.

Выручайте не нашел ни  в одном примере, перепробовал кучу вариантов но не получается.



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1063 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.