我编写了一个JAVA连接数据库,为什么只能显示出最后一行
importjava.sql.*;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publiccl...
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class studentInf extends JFrame
{
JTextArea info=new JTextArea();
JScrollPane Pane1=new JScrollPane();
public studentInf()
{
super("学生信息");
setSize(400,200); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Pane1.getViewport().add(info);
this.getContentPane().add(Pane1);
}
public void DBC (){
try{
String strurl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D://我的文档//access//db.mdb";//你的ACCESS文件位置
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection(strurl);
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from student_inf");
while(rs.next())
{
info.setText(rs.getString("student_no")+"\t");
info.append(rs.getString("student_name")+"\n");
}
rs.close();
stmt.close();
conn.close();
}catch(Exception e)
{
info.setText(e.getMessage());
}
}
public static void main(String[] args) throws ClassNotFoundException {
studentInf dbc = new studentInf();
dbc.DBC();
dbc.show();
}
} 展开
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class studentInf extends JFrame
{
JTextArea info=new JTextArea();
JScrollPane Pane1=new JScrollPane();
public studentInf()
{
super("学生信息");
setSize(400,200); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Pane1.getViewport().add(info);
this.getContentPane().add(Pane1);
}
public void DBC (){
try{
String strurl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D://我的文档//access//db.mdb";//你的ACCESS文件位置
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection(strurl);
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from student_inf");
while(rs.next())
{
info.setText(rs.getString("student_no")+"\t");
info.append(rs.getString("student_name")+"\n");
}
rs.close();
stmt.close();
conn.close();
}catch(Exception e)
{
info.setText(e.getMessage());
}
}
public static void main(String[] args) throws ClassNotFoundException {
studentInf dbc = new studentInf();
dbc.DBC();
dbc.show();
}
} 展开
5个回答
展开全部
while(rs.next())
{
info.setText(rs.getString("student_no")+"\t"); //setText会擦除原有文本。
info.append(rs.getString("student_name")+"\n");
}
改成:
while(rs.next())
{
if(infor.getText==null){
info.setText(rs.getString("student_no")+"\t");
}else
info.append(rs.getString("student_no")+"\t");
info.append(rs.getString("student_name")+"\n");
}
{
info.setText(rs.getString("student_no")+"\t"); //setText会擦除原有文本。
info.append(rs.getString("student_name")+"\n");
}
改成:
while(rs.next())
{
if(infor.getText==null){
info.setText(rs.getString("student_no")+"\t");
}else
info.append(rs.getString("student_no")+"\t");
info.append(rs.getString("student_name")+"\n");
}
展开全部
vector v1 = new vector()
while(rs.next())
{
vector v2 = new vector()
v2.add(rs.getString("student_no")+"\t"));
v2.add(rs.getString("student_name")+"\n"));
}
v1.add(v2);
while(rs.next())
{
vector v2 = new vector()
v2.add(rs.getString("student_no")+"\t"));
v2.add(rs.getString("student_name")+"\n"));
}
v1.add(v2);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很明显的错误么 当年我也经常犯这个错 实例化对象的时候看清楚是在循环外边还是在循环里面 放到里面就是创建新对象 放外边就是一个劲循环替换一个对象 当然输出结果是最后一条了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
申明一个ArrayList来存放你的数据,然后用for来遍历数据.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
setText()只能用于一次性赋值吧,以前的内容都将被后来添加的覆盖掉的。要使用其他控件才行哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询