把一些变量的范围从方法里放到类里。也就是由方法的临时变量变为对象的数据成员。这样多个方法之间就可以使用这些变量了。

解决方案 »

  1.   

    谢谢楼上的,大家能多讲点吗?
    比如针对我的这个问题该怎样设计类比较好呢?能不能把你们的思路稍微讲讲?
      

  2.   

    我把你的程序稍微改了一点,大概思路就是这样,你看看import java.awt.*;
    import java.sql.*;
    import java.io.*;
    import javax.swing.*;public class db1 {
      boolean packFrame = false;
      Frame1 frame = new Frame1();
      Label successLabel=new Label();
      Connection con=null;//实例一个空对象  //Construct the application
      public db1() {
        frame.add(successLabel);
        //Validate frames that have preset sizes
        //Pack frames that have useful preferred size info, e.g. from their layout
        if (packFrame) {
          frame.pack();
        }
        else {
          frame.validate();
        }
        //Center the window
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = frame.getSize();
        if (frameSize.height > screenSize.height) {
          frameSize.height = screenSize.height;
        }
        if (frameSize.width > screenSize.width) {
          frameSize.width = screenSize.width;
        }
        frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
        frame.setVisible(true);
        try {
          jbInit();
        }
        catch(Exception e) {
          e.printStackTrace();
        }
      }
    public java.sql.ResultSet chaxun(String sqlStr){
        ResultSet rst=null;
        if(con!=null)
        {
          try{
            Statement stmt=con.createStatement();
            String sql="select * from test";
            rst=stmt.executeQuery(sql);
          }
          catch(Exception e)
          {
            e.printStackTrace();
            return null;
          }
        }
      return rst;//根据strsql语句返回记录集
    }
    public void initConn(Frame1 frame){//初始化数据库连接
      String drivername="sun.jdbc.odbc.JdbcOdbcDriver";
      String databaseURL="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=e:/java/gb.mdb";
      try{
        Class.forName(drivername);
        successLabel.setText("JDBC-ODBC加载成功");
        con=DriverManager.getConnection(databaseURL,"","");//这里返回一个Connection对象
      }catch(Exception e){
        successLabel.setText("JDBC-ODBC加载失败");
      }}
      //Main method  public static void main(String[] args) {
        try {
          UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }
        catch(Exception e) {
          e.printStackTrace();
        }
        new db1();
      }
      private void jbInit() throws Exception {
      }
    }