当我使用Netbeans探索Java时,我遇到了一些困难。当在table
中选择object
时,我试图使combobox
从不同服务器的多个数据库中加载所有数据。
有三(3)个服务器,每个服务器有一个数据库,每个数据库都有一个表,并且这些表具有相同的列。我可以分别连接到每个数据库并加载其表。但是,我不知道如何合并他们的数据。
我将分享的这段代码实际上并没有用,但是我想告诉您我目前的状态。如果有任何更正或您需要更多详细信息,请告诉我。如果编码结构凌乱,我也要事先道歉。
private void combobox_branchItemStateChanged(java.awt.event.ItemEvent evt)
{
Object branch = combobox_branch.getSelectedItem();
try
{
// All is selected
if("All".equals(branch))
{
Connection cn = db.itemconnector.getConnection();
Connection cn1 = db.itemconnector.getConnection1();
Connection cn2 = db.itemconnector.getConnection2();
PreparedStatement ps = cn.prepareStatement("Select * from items"); //I am lost at this point
ResultSet rs = ps.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)
{
JOptionPane.showMessageDialog(null, e, "Connection Error", JOptionPane.ERROR_MESSAGE);
}
}
我在不同的程序包中有一个类,可以连接到服务器的数据库
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.51: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.52:3306/sales2","root","");
return cn;
}
}
我希望我编写的代码不会太长,并且可以为您的帮助而理解。谢谢。