首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

业余程序员怎么理解JAVABEAN数据库连接

2012-03-08 
业余程序员如何理解JAVABEAN数据库连接问题一:如题问题二:实例求解////////////////////////////数据库连

业余程序员如何理解JAVABEAN数据库连接
问题一:如题


问题二:实例求解
////////////////////////////
数据库连接的的JAVABEAN,Query()和executeSq()是否多余?其他是否有不妥?
///////////////////////////
package   dbcon;
import   java.sql.*;
import   java.io.*;

public   class   GetValue{
    Connection   conn   =   null;
    ResultSet   rs   =   null;
    Statement   stmt   =   null;
    public   GetValue(){
      try{
          if   (rs!=null)
                          rs.close();
          if   (stmt!=null)
                          stmt.close();
          if   (conn!=null)
                          conn.close();
          }catch(SQLException   ex)
                {
                  System.err.println( "DBCONN: "   +   ex.getMessage());
                }

        try{
        Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
        }catch(java.lang.ClassNotFoundException   e){
            }
   
    }
   
    public   ResultSet   executeQuery(String   sql){
rs   =   null;//这个rs是否和JSP中定义的rs一样
try{
          if   (rs!=null)
                          rs.close();
          if   (stmt!=null)
                          stmt.close();
          if   (conn!=null)
                          conn.close();
          }catch(SQLException   ex)
                {
                  return   rs;
                }
 
try{
    conn=   DriverManager.getConnection( "jdbc:odbc:netschool ");  
    stmt   =   conn.createStatement();
    rs   =   stmt.executeQuery(sql);
  }catch(SQLException   ex){
  }
        return   rs;  
    }
   
        public   ResultSet   Query(String   sql){
rs   =   null;
try{
    conn=   DriverManager.getConnection( "jdbc:odbc:netschool ");  
    stmt   =   conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
    rs   =   stmt.executeQuery(sql);
  }catch(SQLException   ex){
  }
        return   rs;
    }

   
    public   boolean   executeUpdate(String   sql){


rs   =   null;
try{
    conn=   DriverManager.getConnection( "jdbc:odbc:netschool ");  
    stmt   =   conn.createStatement();
    stmt.executeUpdate(sql);
    return   true;
  }catch(SQLException   ex){
return   false;
  }
    }
   
    public   boolean   executeSql(String   sql){
try{
conn   =   DriverManager.getConnection( "jdbc:odbc:netschool ");
    stmt   =   conn.createStatement();    
    stmt.execute(sql);
    stmt.close();
    conn.close();
    return   true;
  }catch(SQLException   ex){
                return   false;
  }
    }    

    public   boolean   closeConn()
        {
      try{
          if   (rs!=null)
                          rs.close();
          if   (stmt!=null)
                          stmt.close();
          if   (conn!=null)
                          conn.close();
          return   true;
          }catch(SQLException   ex)
                {
                    return   false;
                }
        }

}

//////////////////////////////////////////
求正确的JSP页面,注释后有问题
/////////////////////////////////////////////
<%@   page   contentType= "text/html;   charset=gb2312 "   language= "java "   import= "java.sql.* "   errorPage= " "   %>
<jsp:useBean   id= "db "   class= "dbcon.GetValue "   scope= "page "   />
<%
ResultSet   rs;
ResultSet   rs1;
rs=null;
rs1=null;//此2句时候需要?
sql= "insert   into   tablename(ID,name)   values(1, 'HELLO ');
rs=db.executeUpdate(sql);
rs.close;//此步需要吗?为何需要?
rs=null;//此步需要吗?为何需要?

sql1= "   select   *   from   tablename   ";
rs1=executeQuery(sql);
While(rs1.next())
{out.println(rs1.getInt( "ID "));}
rs1.close;//此步需要吗?为何需要?
rs1=null;//此步需要吗?为何需要?

db.closeConn();//结合java代码说明一下数据库连接是否关闭?
%>


[解决办法]
jsp最终是要解释成servlet的,
<%
ResultSet rs;
ResultSet rs1;
rs=null;
rs1=null;//此2句时候需要?这里声名的变量为本地变量,所以最好把后两句加上,致于

rs.close;//此步需要吗?为何需要?
rs=null;//此步需要吗?为何需要?这两句,因为有

db.closeConn();//结合java代码说明一下数据库连接是否关闭?这两句,所以个人觉得可以不要,但一旦写了rs.close;//此步需要吗?为何需要?这一句,那么rs=null;//此步需要吗?这句最好带上,否则db.closeConn();//结合java代码说明一下数据库连接是否关闭?这句会出问题会出问题
[解决办法]
你还是没把数据库和页面分离阿 那还用bean干什么

存在ArrayList Vector里 这边取


[解决办法]
ResultSet rs;
ResultSet rs1;
rs=null;
rs1=null;//此2句时候需要?

这个东西不需要吧…………

看来楼主还真是没有理解Bean的作用,也没弄清jdbc…………

JSP页面就是拿它来做显示和输入用的,最好不要在页面里去和数据库通信,所以要用bean,代码看着才舒服

建议楼主去看看书,初步了解一下jdbc
[解决办法]
去这里看看吧:
http://www.javadingle.com

热点排行