Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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 从数据库SQL填充JList_Java_Sql_Swing_Jdbc_Jcombobox - Fatal编程技术网

Java 从数据库SQL填充JList

Java 从数据库SQL填充JList,java,sql,swing,jdbc,jcombobox,Java,Sql,Swing,Jdbc,Jcombobox,我一直试图用数据库中存在的信息填充一个下拉列表,但失败得很惨。 我看过多个指南,也有一些成功的代码,因为我是新手,所以无法复制,可能错过了一些步骤。 这就是我目前正在尝试的: import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class populategui extends JFrame { private JComboBox box; pri

我一直试图用数据库中存在的信息填充一个下拉列表,但失败得很惨。 我看过多个指南,也有一些成功的代码,因为我是新手,所以无法复制,可能错过了一些步骤。 这就是我目前正在尝试的:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;

public class populategui extends JFrame
{
    private JComboBox box;
    private JLabel picture;
    private static String[ ] filename = {rs.next};

    {
        try
    {        
            Class.forName(com.microsoft.jdbc.sqlserver);
            Connection con = (Connection)DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=LIVE;integratedsecurity=true");
            Statement st = con.createStatement();
            String query="SELECT TOP(10)*FROM ERIT";
            ResultSet rs = st.executeQuery(query);
            while(rs.next());
    }
    catch(Exception e)
    {  
    }
    };

            public populategui(){
                super ("the title");
                setLayout(new FlowLayout());
                box=new JComboBox(filename);


            }

    }

如果您需要更多信息,请告诉我。

您的部分问题在于您正在“挤压”可能会告诉您问题所在的异常。将其更改为(至少):

这样您就可以看到抛出了什么异常

更好的方法是记录异常


一般来说,捕获
java.lang.Exception
是一个坏主意,因为您可能最终捕获所有您没有预料到的异常。这是一个可怕的想法,捕捉异常,然后继续,就好像什么都没出问题一样。如果你扔掉关键证据,就很难找出你的程序为什么不起作用



最后,您似乎正在尝试通过复制和粘贴在internet上找到的示例来编写Java代码。这是编写不可靠代码的诀窍。您需要正确地学习该语言,去购买并阅读一本关于Java编程的好教材,或者参加(免费的)Oracle Java教程。

我认为您的主要问题在于您的循环中没有操作:

ResultSet rs = st.executeQuery(query);
while(rs.next());
该代码是expandet:

ResultSet rs = st.executeQuery(query);
while(rs.next()){
// nothing to to (n-times)
}

这里真的没有足够的东西继续下去。它编译吗?它跑吗?有例外吗?如果是,堆栈跟踪是什么?它应该编译一个位于数据库中的信息下拉列表。。。它在NetBeans上运行并操作MS SQL。。。我不知道你说的堆栈跟踪im是什么意思sorry@NeedyHelpo-不,这不是他的意思:参见我的答案。java.lang.RuntimeException:不可编译的源代码-错误的树类型:在populategui。(populategui.java:25)在apple.main(populatetable.java:5)java.lang.RuntimeException:不可编译的源代码-错误的树类型:在populategui。(populategui.java:25)在apple.main(populatetable.java:5)@needyHelppo-so。。。你看到错误信息了吗?短语“不可编译的源代码”对您有什么意义吗?如果没有,您需要花时间学习Oracle Java教程!
ResultSet rs = st.executeQuery(query);
while(rs.next()){
// nothing to to (n-times)
}