gpt4 book ai didi

java - 将mysql数据库的两列数据依次打印到jTextfield的最佳方法

转载 作者:行者123 更新时间:2023-11-29 10:17:57 26 4
gpt4 key购买 nike

我正在尝试编写一个程序,在其中读取用户的输入,即名为 gname 的文本字段中的输入,并将其值存储到名为 grammar 的字符串中。现在这个输入就是对数据库中的输出进行排序的。

数据库看起来像这样 enter image description here

因此,当用户在文本字段中输入 G1 时,它应该以这种方式显示记录

A->ab,A-ab,B->b

但当我使用 if(myRs.next) 时,它只显示第一个元素;如果我使用 while(myRs.next()),它只显示最后一个元素。

当前输出为 enter image description here

这里是代码:

一切都在 try catch block 中

String grammar = gname.getText();

myCon = DriverManager.getConnection("jdbc:mysql://localhost:3306/grammar", "root", "");
JOptionPane.showMessageDialog(rootPane, "Connected to database");
mystmt = myCon.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
String query = "SELECT starting_symbol, value from starting_symbol where grammar= '" + grammar + "'";
String query2 = "SELECT non_terminals, terminals from input_values where grammar= '" + grammar + "'";
mystmt.addBatch(query);
mystmt.addBatch(query2);
myCon.setAutoCommit(false);

mystmt.addBatch(query);
mystmt.addBatch(query2);
myRs = mystmt.executeQuery(query);
while (myRs.next()) {

String s = myRs.getString("starting_symbol");
String val = myRs.getString("value");

output.setText(s + "-> " + val);

}
myRs = mystmt.executeQuery(query2);

ArrayList<String> list_one = new ArrayList<String>();
ArrayList<String> list_two = new ArrayList<String>();
while (myRs.next()) {
list_one.add(myRs.getString("non_terminals"));
list_two.add(myRs.getString("terminals"));
for (int i = 0; i < list_one.size(); i++) {
output_2.setText(list_one.get(i) + "->" + list_two.get(i));

}

}

请帮助我获得正确的输出

最佳答案

使用StringBuilder卢克

StringBuilder b = new StringBuilder();
while (myRs.next()) {

String s = myRs.getString("starting_symbol");
String val = myRs.getString("value");
if (b.length() > 0) {
b.append(',');
}
b.append(s + "-> " + val);

}
output.setText(b.toString());

对output_2字段执行相同的操作

关于java - 将mysql数据库的两列数据依次打印到jTextfield的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49839297/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com