import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.io.*;
public class show extends JFrame
{
JLabel l1,l2;
JTextField t1,t2,t3,t4,t5;
JButton b1,b2,b3;
Datamanger DB=new Datamanger();
ResultSet rs;
public show()
{
setTitle("information");
setSize(300,300);
setLayout(null);
l1=new JLabel();
l1.setText("name");
l1.setBorder(BorderFactory.createEtchedBorder());
l1.setBounds(new Rectangle(20,20,40,20));
add(l1,null);
t1=new JTextField();
t1.setBorder(BorderFactory.createEtchedBorder());
t1.setBounds(new Rectangle(65,20,40,20));
add(t1,null);
l2=new JLabel();
l2.setText("mima");
l2.setBounds(new Rectangle(110,20,40,20));
add(l2,null);
t2=new JTextField();
t2.setBounds(new Rectangle(155,20,40,20));
add(t2,null);
b1=new JButton();///////////////////////////////////////////b1 start
b1.setText("select");
b1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e1)
{
if(t1.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null,"xingming bu keyiweikong");
return;
}
if(t2.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null,"mima bu keyi wei kong");
return ;
}
String str;
str="select * from dizhi where name ="+"'"+t1.getText()+"'";
rs=DB.getResult(str);
try
{
if(!rs.equals(null))
{
rs.next();
showResult();
}}
catch(SQLException e2)
{
}

});
b1.setBorder(BorderFactory.createEtchedBorder());
b1.setBounds(new Rectangle(200,20,40,20));
add(b1,null);///////////////////////////////////////////b1 end
t3=new JTextField();
t3.setBorder(BorderFactory.createEtchedBorder());
t3.setBounds(new Rectangle(20,65,80,20));
add(t3,null);
t4=new JTextField();
t4.setBorder(BorderFactory.createEtchedBorder());
t4.setBounds(new Rectangle(105,65,80,20));
add(t4,null);
t5=new JTextField();
t5.setBorder(BorderFactory.createEtchedBorder());
t5.setBounds(new Rectangle(190,65,80,20));
add(t5,null);
b3=new JButton();///////////////////////////////b3 start
b3.setText("first");
b3.addActionListener(new ActionListener()
{
   public void actionPerformed(ActionEvent e)
   {
   
    try
    {
        rs.first();
        showResult();
        
    }
    catch(SQLException e1)
    {
    }}
});
b3.setBounds(new Rectangle(105,90,80,20));
b3.setBorder(BorderFactory.createEtchedBorder());
add(b3,null);///////////////////////////////////////b3 endsetVisible(true);
}public static void main(String[] args)
{
new show();
}
public void showResult()/////////////////////////// //// showresult  start
{
try
{
t3.setText(rs.getString(1));
t4.setText(rs.getString(2));
t5.setText(rs.getString(3));}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,"meiyou");
}
}///////////////////////////////////////////////////////showresult end}我的问题就是怎么运行的结果只能发生b1的查询事件,但是b3按纽发生的事件本来是要显示数据库表中的第一条记录。但是我这个程序怎么就事查不出第一条记录呢,希望高手帮我看下,

解决方案 »

  1.   

    你的这个函数:showResult(),当你调用它的时候,rs定位不确定。.
       你应该传过参数过来。
         并可以使用rs的绝对定为方法,就可以显示第一条数据。.
      

  2.   

    rs.first();//....
    showResult();//.......
    我先rs.first();这个不就定位了指针了么?然后调用showResult();没有道理么?我感觉是很合理的
    但是就事显示不出结果