2011-07-13 8 views
0

Accessデータベースからコンボボックスにアイテムを追加するにはどうすればよいですか?javaデータベースからJcomboBoxにアイテムを追加

マイコード:

String sql = "SELECT * FROM Owner,Cars " 
     + "WHERE carID=CarID_ " 
     + "ORDER BY OwnerName;"; 
    ResultSet dane = zadanie.executeQuery(sql); 
    while (dane.next()) 
    { 
     comboBox_2.addItem(new(dane.getString("year"))); 
    } 
    zadanie.close(); 
} catch(SQLException sqe) { 
    System.out.println("SQl error"); 
} 

が、それは "SQLエラー" ところで、このコードをスローします。書き込みはそのように、それは誤り

comboBox_2.addItem(new String(dane.getString("CarName"))); 
     System.out.println(
       dane.getString("CarName")+"\t" + 
       dane.getString("year")); 
+0

データベースからの喉の渇きの項目を挿入します –

+2

将来的にあなたを助ける2つのもの。まず、コードをデバッグするのに役立つ例外を処理する方法を学びます。 'catch(SQLException sqe)'ブロックの中では、sqe.printStackTrace(System.out);となります。スタックトレースを問題の原因に印刷します。これは、遭遇した特定の問題を端末に印刷する。あなたのSQLクエリはひどいです! Second - SQLスキルアップ! – GordyD

答えて

2

EDT以外のスレッドの場合は、Swingコンポーネントを変更するイベントがEDTに送信されていることを確認する必要があります。ユーティリティークラスSwingUtilitiesはそうすることを可能にします。

SwingUtilities.invokeLater(new Runnable(){ 
    @Override 
    public void run(){ 
     comboBox_2.addItem(new(dane.getString("year"))); 
    } 
}); 

これは現在の問題ではありません。役に立たないメッセージ(SQLエラー)を印刷する代わりに、スタックトレースを印刷してみませんか?また、SQLExceptionをお読みになることをお勧めします。

0
を示している場合、完全

String sql="SELECT * FROM Cars ;"; 
    ResultSet dane = zadanie.executeQuery(sql); 
    while (dane.next()) 
    {  

     System.out.println(
       dane.getString("CarName")+"\t" + 
       dane.getString("year")); 

    } 
    zadanie.close(); 
} catch(SQLException sqe) { 
    System.out.println("SQl error"); 
} 

作品が、

SQLの問題のようです...その文は正しく実行されませんJava?

SELECT * FROM owner JOIN cars USING (carID) ORDER BY OwnerName; 

あなたのためにうまくいくかもしれませんか?

+0

はこれで(SQLエラーも)まったく動作せず、項目を挿入しません。 –

1

SQLでエラーが発生しましたWHERE carID = CarID_"車の実際のIDがありません。お役に立てれば!

+0

system.out.printlnを使用すると、私が必要とするすべてのデータとcaIDを表示するので、iteminコンボボックスを追加することによる問題はありません –

+0

実際のSQL文には誤りがあります。この場合、SQL文は次のようになります。 'String sql =" SELECT * FROM所有者、車WHERE carID = CarID_ ORDER BY OwnerName; "' carIDにはIDがありません。 'String sql =" SELECT * FROM Owner、Cars where carID = CarID_5 ORDER BY OwnerName; "のようなものを読んでください。 –

関連する問題