你的这里有问题:
if(id.equals(""))
  ResultSet rs=stmt.executeQuery(ls_1);
else  
  ResultSet rs=stmt.executeQuery(ls_2);可以改为这样:
ResultSet rs = null;
if(id.equals(""))
  rs=stmt.executeQuery(ls_1);
else  
  rs=stmt.executeQuery(ls_2);
就可以了。

解决方案 »

  1.   

    try{
                  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                  String url="jdbc:odbc:People";
                  String user="sa";
                  String password="sa";
                  String name=txt1.getText();
                  String id=txt5.getText();   
                  String ls_1="";
                  if(id.equals("")){
                   if(name.equals("")){
                   ls_1="select * from BasicInfo";
                   }
                   else{
                    ls_1="select * from BasicInfo where Name='" + name + "'";
                   }
                   }
                  else{
                   ls_1="select * from BasicInfo where Name='" + id + "'";
                  }       
                  Connection con=DriverManager.getConnection(url,user,password);
                  Statement stmt=con.createStatement();
                  ResultSet rs=stmt.executeQuery(ls_1);
                  while(rs.next()){                                                       
                  txt1.setText(rs.getString(1));
                  txt2.setText(rs.getString(2));
                  txt3.setText(rs.getString(3));
                  txt4.setText(rs.getString(4));
                  txt5.setText(rs.getString(5));                                
                  }
                  rs.close();
                  stmt.close();
                  con.close(); 
              }