-1

データベースに存在する情報をドロップダウン リストに入力しようとしましたが、惨めに失敗しました。私は複数のガイドを見てきましたが、私は初心者であり、いくつかのステップを逃した可能性があるため、コピーできなかったいくつかの成功したコードがありました. これは私が現在試していることです:

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);


            }

    }

さらに情報が必要な場合は、お知らせください。

4

2 に答える 2

1

あなたの問題の一部は、何が問題なのかを教えてくれるかもしれない例外を「押しつぶす」ことです。これを(少なくとも)次のように変更します。

try {
    ...
} catch (Exception ex) {
    ex.printStackTrace();
}

どの例外がスローされているかを確認できるように...

さらに良いことに、例外をログに記録します。


原則として、java.lang.Exception予期しないあらゆる種類の例外をキャッチすることになる可能性があるため、をキャッチすることはお勧めできません。そして、例外をキャッチして、何も問題がなかったかのように続行するのはひどい考えです。重要な証拠を捨ててしまうと、プログラムが機能しない理由を突き止めることが難しくなります。


最後に、インターネットで見つけた例をコピー アンド ペーストして Java コードを書こうとしているようです。これは、信頼性の低いコードを作成するためのレシピです。言語を適切に学習する必要があります。Java プログラミングに関する優れた教科書を購入して読むか、(無料の) Oracle Java チュートリアルを受講してください。

于 2012-04-23T11:15:30.550 に答える
0

あなたの主な問題はあなたのループでノーオペレーションだと思います:

ResultSet rs = st.executeQuery(query);
while(rs.next());

そのコードはexpandetです:

ResultSet rs = st.executeQuery(query);
while(rs.next()){
// nothing to to (n-times)
}
于 2012-04-23T11:28:39.190 に答える