Как подключиться к другой базе данных в Try-Catch на Java? - PullRequest
0 голосов
/ 09 мая 2019

Я постараюсь сделать это как можно более понятным, так как я новичок в Java. Если есть детали, которые вам не понятны, пожалуйста, дайте мне знать. Заранее прошу прощения, если структура моего кодирования грязная.

Я создаю событие combobox, в котором, если элемент выбран (или изменен), он отобразит элементы этой базы данных, и если нажать кнопку Update, программа подключится к базе данных на основе пункт, выбранный в выпадающем списке.

Проблема в том, что переменная cn после оператора if-else имеет ошибку "variable may have not been initialized".

Пожалуйста, обратите внимание, что я хотел бы сосредоточиться на состоянии, так как именно здесь у меня возникают трудности, и что часть Update в настоящее время не является проблемой.

   private void btn_UpdateActionPerformed(java.awt.event.ActionEvent evt) 
   {   
   String value2 = (String) combobox_location.getSelectedItem();
   String value4 = (String) combobox_category.getSelectedItem();
   try 
   {
    if(value2.equals(value4))
    {
    Connection cn = db.itemconnector.getConnection();
    }
    String sql = "UPDATE items set location = '"+value2+"'  where id = '"+value4+"' " ; //Please ignore this line for the now
    PreparedStatement ps1 = cn.prepareStatement(sql);
    ps1.execute();
    JOptionPane.showMessageDialog(null, "Update Successful");

    PreparedStatement ps2 = cn.prepareStatement(ref);
    ResultSet rs = ps2.executeQuery();
    DefaultTableModel tm = (DefaultTableModel)itemTable.getModel();
    tm.setRowCount(0);


    while(rs.next())
        {
            Object o[] = {rs.getInt("id"), rs.getString("location"), rs.getString("product_name"),rs.getString("product_category"),rs.getString("product_description"),rs.getInt("product_stock"), rs.getFloat("product_price"), rs.getString("product_status")};
            tm.addRow(o);

        } 




}


catch (Exception e)
{
    System.out.println("Update Error!");
}

}

У меня есть пакет db, который имеет класс itemconnector для подключения к базе данных, и вот мой код, который я написал в нем. Я надеюсь, что предоставил все необходимые детали для вашей помощи. Если вам нужна дополнительная информация, пожалуйста, дайте мне знать. Спасибо.

   package db;

   import java.sql.*;

   public class itemconnector {

/**
 *
 * @return
 * @throws Exception
 */
public static Connection getConnection() throws Exception
{
    Class.forName("com.mysql.jdbc.Driver");
    Connection cn = (Connection)
            DriverManager.getConnection("jdbc:mysql://192.168.1.50:3306/sales","root","");

    return cn;
}

public static Connection getConnection1() throws Exception
{
    Class.forName("com.mysql.jdbc.Driver");
    Connection cn = (Connection)
            DriverManager.getConnection("jdbc:mysql://192.168.1.50:3306/sales1","root","");

    return cn;
}

public static Connection getConnection2() throws Exception
{
    Class.forName("com.mysql.jdbc.Driver");
    Connection cn = (Connection)
            DriverManager.getConnection("jdbc:mysql://192.168.1.50:3306/sales2","root","");

    return cn;
}

}

...