0

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

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

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

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

第一类

字符串结果 = "";

联系人列表(){

    //extra classes
    db=new database();

    result = db.getContact();

标签1 =新的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 中的联系人表中的行有用逗号分隔的列

1,里维拉,安吉洛,2890 某事 st。文图拉 93003,空

2,人,随机,1223 我不知道大街。卡米尔罗 93001, 423-123-5313

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

我如何使它在 JLabel 中显示整行?

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

谢谢。

4

2 回答 2

0

我建议为此使用 JTable。阅读 Swing 教程中有关如何使用 JTable的部分以获取更多信息。

然后您可能想查看Table From DatabaseTable From Database Example代码可能是最简单的开始方式。

于 2013-06-28T20:50:20.857 回答
0

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

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 回答