Java 如何在文本区域中显示整个列?
我想在SQL数据库的文本区域中显示整个列,但在文本区域中只显示最后一行数据。解决办法是什么Java 如何在文本区域中显示整个列?,java,swing,jdbc,jtextarea,Java,Swing,Jdbc,Jtextarea,我想在SQL数据库的文本区域中显示整个列,但在文本区域中只显示最后一行数据。解决办法是什么 try { Class.forName("oracle.jdbc.driver.OracleDriver"); con=DriverManager.getConnection("jdbc:oracle:oci8:@localhost:1521:XE","tushar","yahoo123"); st=con.createStatement();
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:oci8:@localhost:1521:XE","tushar","yahoo123");
st=con.createStatement();
rs=st.executeQuery("select CUSTOMER_ID from demo_customers" );
while(rs.next())
{
String CUSTOMER_ID = rs.getString("CUSTOMER_ID");
t2.setText("ID: " + CUSTOMER_ID); //JTextArea t2=new TextArea();
}
st.close();
con.close();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
不要将文本设置为每行的新值,而应将新文本附加到以前的文本上。添加换行符也可能是一个好主意:
while(rs.next()) {
String CUSTOMER_ID = rs.getString("CUSTOMER_ID");
t2.append("ID: " + CUSTOMER_ID+"\n");
}
每次调用
setText
,都会重置文本区域的内容。似乎您正试图将其用作加法。相反,可以考虑使用StringBuilder
构建内容,然后调用setText
一次。setText(…)
替换TextArea
的文本,您将需要附加新值(例如:t2.append(“ID:+CUSTOMER\u ID);
)。不要使用StringBuilder,这将需要两倍的内存。一个用于StringBuilder中数据的副本,另一个用于文档中的数据。只需将文本直接附加到文档中即可。@camickr你说得对-对于那些糟糕的大表来说。删除了附加的。(1+)