Я постараюсь сделать это как можно более понятным, так как я новичок в 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;
}
}