0

JavaをMySQLに正常に接続するJavaコードがあります。

私は2つのクラスを持っています。Java で GUI を作成するクラスと、特に MySQL から情報を取得する別のクラスです。

MyGUI の各 JLabel に、情報の行全体を文字列として配置する良い方法を見つけようとしています。

各クラスのコードは次のとおりです(データベースへの接続を除く):

クラス1

文字列結果 = "";

連絡先リスト() {

    //extra classes
    db=new database();

    result = db.getContact();

label1 =新しい JLabel(結果);

クラス 2

PreparedStatement pst、pst2; 結果セット rs、rs2;

pst2 = con.prepareStatement("連絡先から姓、名を選択");

public String getContact()
{
  String result2 = "";
   try {
  rs2=pst2.executeQuery();

  while (rs2.next())
  {
        result2 = rs2.getString(1);
  }



  return result2;
   }

 catch (Exception e) {
        // TODO Auto-generated catch block
        System.out.println("error while validating"+e);
        return "";
    }

}

現在、MySQL の Contacts テーブルの行には、コンマで区切られた列があります

1、リベラ、アンジェロ、2890 何か st. ベンチュラ 93003、ヌル

2, 人物, ランダム, 1223 よくわからない。カマイロ 93001、423-123-5313

現在、「label1」に行全体を入れようとすると、表示されるテキストは「Person」だけです。

JLabel の Row 全体を表示するにはどうすればよいですか?

また、関数を呼び出して次の行の情報を取得し、それを別のラベルに入れることができるように、コードをフォーマットするにはどうすればよいでしょうか?

ありがとう。

4

2 に答える 2

0

物事の外観によって、結果セットから 1 つの列を取得するように要求しているだけです。

result2 = rs2.getString(1);

より多くのデータを表示したい場合は、それを取得して何らかの方法でフォーマットするだけです:

result2 = rs2.getString(1) + " : " + rs2.getString(2);

例えば。

しかし、selectステートメントには他にも問題があると思います。

select LastName, FirstName from contacts

データベースのすべての行から LastName と FirstName を取得します。ループ構成が機能する方法result2は、テーブルの最後の行のデータのみが含まれることを意味します。それはあなたが達成しようとしていることですか?

于 2013-06-28T19:21:50.807 に答える
0

これには JTable を使用することをお勧めします。詳細については、 JTable の使用方法に関する Swing チュートリアルのセクションを参照してください。

次に、 Table From Databaseをチェックアウトすることをお勧めします。コードは、Table From Database Example開始する最も簡単な方法かもしれません。

于 2013-06-28T20:50:20.857 に答える