将 ResultSet 放入 JTxtField
get ResultSet into JTxtField
我想让我的完整结果集显示到我的 JTxtField 中,但我不知道该怎么做。
这是我目前的代码:
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn3 = DriverManager.getConnection("jdbc:sqlserver://ARTURO-LAPTOP;user=sa;password=sacompusis;database=PDV");
st3 = conn3.createStatement();
rs3= st3.executeQuery("SELECT Nombre_Pdv, SUM(Total) AS Expr1 FROM VENTA_PLATILLOS GROUP BY Nombre_Pdv");
while(rs3.next()){
txt.setText(rs3.getString(1));
}
}
catch(Exception e){
e.printStackTrace();
}
然而,这只给了我结果集的第一个字符串,我怎样才能得到完整的结果集?
您的 while 循环可能为 JTextField 设置了许多字符串,但只会显示一个 -- 最后一个设置为 JTextField 的文本,因为它会覆盖之前添加的所有文本。
如果您必须在 JTextField 中显示所有字符串,则创建一个 StringBuilder 对象,并在 while 循环中,追加您进入 StringBuilder 的结果集文本,然后在在 while 循环中,使用 StringBuilder 中的 toString()
作为 JTextField 的文本。例如,
StringBuilder sb = new StringBuilder();
while(rs3.next()){
sb.append(rs3.getString(1) +"; ");
}
txt.setText(sb.toString());
更好:在 JTextArea 中显示文本,使用 "\n"
将其附加到 while 循环中。
StringBuilder sb = new StringBuilder();
while(rs3.next()){
sb.append(rs3.getString(1) +"\n");
}
myTextArea.setText(sb.toString());
更好的是:通过创建一个 TableModel 在 JTable 中显示整个 ResultSet 数据,为了灵活性从 AbstractTableModel 派生或为方便起见从 DefaultTableModel 派生,并使用 while 循环将 ResultSet 中的行添加到模型中,然后设置使用此创建和填充模型的 JTable 的 TableModel。
我想让我的完整结果集显示到我的 JTxtField 中,但我不知道该怎么做。
这是我目前的代码:
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn3 = DriverManager.getConnection("jdbc:sqlserver://ARTURO-LAPTOP;user=sa;password=sacompusis;database=PDV");
st3 = conn3.createStatement();
rs3= st3.executeQuery("SELECT Nombre_Pdv, SUM(Total) AS Expr1 FROM VENTA_PLATILLOS GROUP BY Nombre_Pdv");
while(rs3.next()){
txt.setText(rs3.getString(1));
}
}
catch(Exception e){
e.printStackTrace();
}
然而,这只给了我结果集的第一个字符串,我怎样才能得到完整的结果集?
您的 while 循环可能为 JTextField 设置了许多字符串,但只会显示一个 -- 最后一个设置为 JTextField 的文本,因为它会覆盖之前添加的所有文本。
如果您必须在 JTextField 中显示所有字符串,则创建一个 StringBuilder 对象,并在 while 循环中,追加您进入 StringBuilder 的结果集文本,然后在在 while 循环中,使用 StringBuilder 中的 toString()
作为 JTextField 的文本。例如,
StringBuilder sb = new StringBuilder();
while(rs3.next()){
sb.append(rs3.getString(1) +"; ");
}
txt.setText(sb.toString());
更好:在 JTextArea 中显示文本,使用 "\n"
将其附加到 while 循环中。
StringBuilder sb = new StringBuilder();
while(rs3.next()){
sb.append(rs3.getString(1) +"\n");
}
myTextArea.setText(sb.toString());
更好的是:通过创建一个 TableModel 在 JTable 中显示整个 ResultSet 数据,为了灵活性从 AbstractTableModel 派生或为方便起见从 DefaultTableModel 派生,并使用 while 循环将 ResultSet 中的行添加到模型中,然后设置使用此创建和填充模型的 JTable 的 TableModel。