try
{
PreparedStatement psm=con.prepareStatement( "select * from pubs where id=? ");
psm.setString(1,jTextID.getText());
rs=psm.executeQuery();
rs.next();//为什么需要调用这个方法呢?
try
{
jTextID.setText(rs.getString(1));
jTextName.setText(rs.getString(2));
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
------解决方案--------------------
boolean next()
Moves the cursor down one row from its current position.
游标初始位置是0
下移一个位置到第一条记录
------解决方案--------------------
为什么要移动呢
------解决方案--------------------
如lsj19830812(李逵)所说 游标初始位置是0 需要下移一个位置才能 指向结果集的第一条记录
如果在这里 没有移位的话 后面
jTextID.setText(rs.getString(1));
jTextName.setText(rs.getString(2));
就不能得到正确的结果
至于为什么会把游标初始化为0 而不是指向第一条记录 考虑一下当返回结果集是一个空集的情况就会很容易明白了
------解决方案--------------------
初始的结果集没有指向第一条记录的,必须调用next方法。
一般 if(rs.next()) or while(rs.next())