java - 从数据库获取值到 JLabel

标签 java swing

我的数据库中有一个 4 行 4 列的表。每列保存不同的数据。 现在我想检索数据库中的所有数据并将它们放在另一个表单上的 JLabel 上。 IE 在我的数据库中我有。

套餐名称......月费......年费......总计费用

常规......................150.......300...... ......450

金币......................300.......400 ...................700

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

现在我有一个表单,我在四行中放置了 4 个空 JLabel,但是如何从数据库中检索值并将每个值放入适当的标签中?

这就是我所做的,但我仍然无法解决它。我被卡住了。

谢谢大家。

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

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

最佳答案

如果您想以字符串形式获取此数据,那么您可以尝试以下操作:

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

现在我们有一个 JLabels 数组准备好放入小程序中。

关于java - 从数据库获取值到 JLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19722829/

相关文章:

java - 将数据从后端的 ArrayList 传递到 JComboBox GUI 前端 - Java Swing

java - java中的前增量/后增量

java - 如何在 Java 中比较字符串?

java - 防止 Java 在更新时重新绘制 JPanel 的内容

java - getValueIsAdjusting 到底做了什么?

java - Swing 对话框渐变绘制问题

java - 运行一个类,然后运行另一个类

java - 哪个模板是 netbeans 默认的新 java 类?

java - 使用 FFT 比较两个音频文件是唯一的方法吗?

java - 在 Java GUI 中显示 com 端口数据