将MySQL表的整行安装到Java中的单个JLabel上

时间:2013-06-28 18:49:23

标签: java mysql sql jlabel

我有Java代码,成功地将Java连接到MySQL。

我有两节课。一个使用Java创建GUI,另一个专门从MySQL获取信息。

我正在尝试找到一种将整行信息作为字符串放入MyGUI上的每个JLabel的好方法。

这是我在每个类中的代码(不包括连接到数据库):

CLASS 1

String result =“”;

contactsList()     {

    //extra classes
    db=new database();

    result = db.getContact();

label1 = new JLabel(result);

CLASS 2

PreparedStatement pst,pst2;     ResultSet rs,rs2;

pst2 = con.prepareStatement(“选择LastName,来自联系人的FirstName”);

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件事。 ventura 93003,Null

2,人,随机,1223我不知道。 Camairllo 93001,423-123-5313

现在,当我尝试在“label1”中放置一行时,它显示的唯一文本是“Person”。

如何制作它以便在JLabel中显示整行?

另外,我如何格式化代码,以便我可以调用该函数来获取下一行信息并将其放入另一个标签中?

感谢。

2 个答案:

答案 0 :(得分:0)

您只是要求它通过事物的外观从结果集中检索一列:

result2 = rs2.getString(1);

如果要显示更多数据,只需要检索它并以某种方式对其进行格式化:

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

例如。

但我认为select语句还存在其他问题。

select LastName, FirstName from contacts

将从数据库中的每一行检索LastName和FirstName。循环结构的工作方式意味着result2将仅包含表中最后一行的数据。那是你想要实现的目标吗?

答案 1 :(得分:0)

我建议使用JTable。有关详细信息,请阅读How to use JTable上的Swing教程中的部分。

然后你可能想看看Table From DatabaseTable From Database Example代码可能是最简单的启动方式。