0

データベースに 4 行 4 列のテーブルがあります。各列には異なるデータが保持されます。今、データベース内のすべてのデータを取得し、それらを別のフォームの JLabel に配置したいと考えています。つまり、私のデータベースに持っています。

packageName.....monthlyFee..... YearlyFee....... TotalFee

レギュラー....................................150....300.... ..........450

ゴールド.........300....400... ...............700

…………………………

今、4 つの空の JLabel を 4 つの行に配置したフォームがありますが、データベースから値を取得し、各値を適切なラベルに配置するにはどうすればよいですか?

これは私がやったことですが、まだ回避できません。立ち往生しています。

ありがとうございます。

 public void getPrices()
 {

  String srt ="SELECT * FROM program_tbl";

  try
    {
       con.connect();

       ps =  con.con.prepareStatement(srt);

       rs = ps.executeQuery();
       ResultSetMetaData data = rs.getMetaData();
       int colums = data.getColumnCount();

           while(rs.next())
           {

               Vector rows = new Vector();
               for (int i = 1; i < colums; i++)
               {
                   rows.addElement(rs.getObject(i));
               }

................................................................... ...................

4

2 に答える 2

2

このデータを文字列として取得したい場合は、おそらく次のようなものを試すことができます。

Vector<String> rows = new Vector<String>();
while(rs.next())  {  
   String rowEntry = rs.getString("packageName") +
                     rs.getString("monthlyFee") +
                     rs.getString("yearlyFee") +
                     rs.getString("totalFee") +             
   rows.add(rowEntry);
}

String ではなく、後で使用するオブジェクトの場合は、クラスを作成できます。

public class MyObject {
    private String packageName;
    private int monthlyFee;
    private int yearlyFee;
    private int totalFee;

    public MyObject (String name, int monthlyFee, int yearlyFee, int totalFee) {
       this.packageName = name;
       this.monthlyFee = monthlyFee;
       this.yearlyFee = yearlyFee;
       this.totalFee = totalFee;
    }

    /*Setters
     *And
     *Getters*/
}

そして、次のように使用します。

Vector<MyObject> rows = new Vector<MyObject>();
while (rs.next()) {
   MyObject obj = new MyObject(rs.getString("packageName")
                               , rs.getInt("montlyFee")
                               , rs.getInt("yearlyFee")
                               , rs.getInt("totalFee")
                               );   
   rows.add(obj)      
}

たとえば、文字列値を持つベクトルがあるとVector<String> rows; します。これらの JLabels を作成したいと思います。

JLabel[] myLabels = new JLabel[v.size()];
for(int i=0; i<rows.size(); i++) {
   as[i] = new JLabel(rows.get(i));
}

これで、アプレットに配置する準備が整った JLabel の配列ができました。

于 2013-11-01T08:17:17.783 に答える