【发布时间】:2014-08-22 22:50:49
【问题描述】:
我为下一个按钮编写此代码。当我单击时,我只从表中获得第一行。帮助我如何一一获取所有行?
public void next(){
try{
String Url = "Jdbc:Odbc:DirDSN";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(Url,"sa","mysql");
// Statement st = con.createStatement();
String sql = "SELECT * FROM PersonInformation";
PreparedStatement pstmt = con.prepareStatement(sql,
ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs = pstmt.executeQuery();
if(rs.next()) {
String name = rs.getString("First_Name");
String lName = rs.getString("Last_Name");
String add = rs.getString ("Address");
String em = rs.getString("Email_Id");
String cell = rs.getString("cell#");
// System.out.println("name"+ name+ "lastName"+lName);
// set();
jTextField2.setText(name);
jTextField3.setText(lName);
jTextField4.setText(add);
jTextField5.setText(em);
jTextField10.setText(cell);
} else {
JOptionPane.showMessageDialog(null,"no next record available");
}
} catch(Exception sqlEx) {
System.out.println(sqlEx);
}
}
请告诉我如何以一行一行的形式从数据库中创建的表中获取数据。我为下一个按钮编写此代码,但我通过单击下一个按钮仅获得表的第一条记录,我希望如果我单击下一个按钮,它应该在 gui.guide me plz 中一个接一个地显示所有记录
【问题讨论】:
-
继续调用
rs.next()获取下一条记录,直到用完为止。 -
while (rs.next ()) {}
-
down_votes 可能是因为您在此处发布的疯狂混乱(意思是您的原始代码),(现在)这个问题不是更好......
-
Connection、PreparedStatement 和 ResultSet 在 finally(try - catch - finally) 块中应该是 close() 否则会在 JVM 使用的内存中停留(增加)
标签: java string swing jdbc jtextfield