Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将数据库中的所有可用表设置为文本字段_Java_Mysql_Sql - Fatal编程技术网

Java 如何将数据库中的所有可用表设置为文本字段

Java 如何将数据库中的所有可用表设置为文本字段,java,mysql,sql,Java,Mysql,Sql,请注意,我正在开发一个应用程序,在这个应用程序中,我需要从数据库中选择一个表,即这些表必须在该选择面板上始终可用。 我创建了一个方法来显示数据库中所有可用的表,该方法出现在我的构造函数中。 现在,只有一个表显示了所需的位置,我尝试将表设置为jTextFieds,但仍然显示了一个表。 请告诉我如何解决这个问题,将所有可用的表显示到指定的文本字段,然后我将把它们设置为jCombobox。 下面是我的片段: public void combo(){ try {

请注意,我正在开发一个应用程序,在这个应用程序中,我需要从数据库中选择一个表,即这些表必须在该选择面板上始终可用。 我创建了一个方法来显示数据库中所有可用的表,该方法出现在我的构造函数中。 现在,只有一个表显示了所需的位置,我尝试将表设置为jTextFieds,但仍然显示了一个表。 请告诉我如何解决这个问题,将所有可用的表显示到指定的文本字段,然后我将把它们设置为jCombobox。 下面是我的片段:

public void combo(){
       try {

               String sql="SHOW TABLES FROM cctdba";
                //SQL for selecting the table cctdba Database  

                 pst = conn.prepareStatement(sql);

               rs=pst.executeQuery(sql);
                while (rs.next()) {
                     jTextField1.setText(rs.getString(1));
                     jTextField2.setText(rs.getString(2));
                    //Displaying the first two tables into the textfield(Unresloved)  

                }

        // TODO add your handling code here:
    } 
    catch(Exception e){

    }
}
求你了,我需要帮助。
谢谢

我认为“从信息模式中选择*表格”对您来说很好

您的问题是您正在设置和重置文本字段。您要么需要为每个结果添加更多文本字段,要么需要构建一个串联字符串

           rs=pst.executeQuery(sql);
           string allNames1;
           string allNames2;
            while (rs.next()) {
                 allNames1 += rs.getString(1) +" ";
                 allNames2 += rs.getString(2) +" ";
            }
            jTextField1.setText(allNames1);
            jTextField2.setText(allNames2);

我认为应该使用列表作为数据模型来加载所有可用的表

试试这个:

 int i = 1;
 List<String> data = new Arraylist<>();
 while (rs.next()) {
     data.add(rs.getString(i));
     i++;
 }
 JList<String> myJList = new JList<String>(data);
inti=1;
列表数据=新的Arraylist();
while(rs.next()){
data.add(rs.getString(i));
i++;
}
JList myJList=新JList(数据);
然后使用面板中的
myJList
对象

 int i = 1;
 List<String> data = new Arraylist<>();
 while (rs.next()) {
     data.add(rs.getString(i));
     i++;
 }
 JList<String> myJList = new JList<String>(data);