Java 将结果集放入JTxtField

Java 将结果集放入JTxtField,java,swing,jtextfield,resultset,Java,Swing,Jtextfield,Resultset,我想把我的全部结果集显示到我的JTxtField中,但我不知道怎么做 这是我目前的代码: try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); conn3 = DriverManager.getConnection("jdbc:sqlserver://ARTURO-LAPTOP;user=sa;password=sacompusis;database=PDV");

我想把我的全部结果集显示到我的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的文本。e、 g

StringBuilder sb = new StringBuilder();
while(rs3.next()){
    sb.append(rs3.getString(1) +"; ");
}
txt.setText(sb.toString());
更好:在JTextArea中显示文本,在while循环中附加
“\n”


更好的方法是:通过创建一个TableModel(为了灵活性从AbstractTableModel派生,为了方便起见从DefaultTableModel派生)并使用while循环将ResultSet中的行添加到模型中,在JTable中显示整个ResultSet数据,然后用这个创建和填充的模型设置JTable的TableModel。

JTextField不支持多行。你们可能想看看JTextArea。你们试过这个方法吗toString@A.Sharma你是对的,但是他可以在一行文本中得到所有结果,我尝试了一个jtextArea,但仍然.getString(1)只给出了第一个结果,不是完整的结果集我尝试了你的jtextArea方法,而是getSting(1)只获取结果集的第一个结果而不是完整结果如何获取完整结果集?@ArturoMartinez:那么您当前的结果集可能只包含一行,或者所有行都包含相同的数据。您最好使用调试器或println语句进行一些调试,以找到答案。
StringBuilder sb = new StringBuilder();
while(rs3.next()){
    sb.append(rs3.getString(1) +"\n");
}
myTextArea.setText(sb.toString());