使用数据库中的所有表填充jcombobox

时间:2014-04-28 08:19:58

标签: java mysql arrays swing jcombobox

我正在尝试使用数据库中的表填充JComboBox,我有这个代码执行查询,结果将他发送到另一个类,我在其中用数据修复填充JComboBox,问题是我只收到垃圾。

查询和连接的代码

public ArrayList Tablas()
{    
    ArrayList tabla = new ArrayList(); 
    int i=0;
    try 
    {
        this.conectar("127.0.0.1", "mydb", "root", "root");
        this.consulta=this.conn.prepareStatement("show tables;");
        this.datos=this.consulta.executeQuery();
        while(datos.next())
        {
            tabla.add(datos);
            i++;
        }
        return tabla;

    } catch (ClassNotFoundException | SQLException ex) {
        Logger.getLogger(Servicio.class.getName()).log(Level.SEVERE, null, ex);
        return tabla;
    }
}

感谢您的帮助

我尝试设置Jcombobox

的部分
    Servicio service = new Servicio();  
    ArrayList<String> tabla = new ArrayList<String>(); 
    tabla = service.Tablas();
    DefaultComboBoxModel model = new DefaultComboBoxModel(tabla.toArray());
    cTablas.setModel(model);

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

 ArrayList tabla = new ArrayList(); 

将此更改为

List<String> tabla = new ArrayList();

更改

while(datos.next())
        {
            tabla.add(datos);
            i++;
        }

while(datos.next())
        {
            tabla.add(datos.get...(i);
            i++;
        }

让我们知道您得到的错误是什么。随着堆栈跟踪,如果有的话。 P.S - 我刚刚在文本编辑器中输入了代码,只是为了给你一个想法。因此,如果需要,可以更换件。