jsp 连接access数据库实例

一个用jsp连接Access数据库的代码。
要正确的使用这段代码,你需要首先在Access数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。
欢迎各位提出改进的意见。
以下用两种方式来实现jsp连接access数据库。
第一种JSP形式。

程序代码 程序代码
< %@ page  contentType = "text/html; charset=gb2312"  language = "java"
import = "java.sql.*" % >
<meta http -equiv = "Content-Type" content = "text/html; charset=gb2312" >
< %
     /*********************************
     *********  JDBC_ODBC连接Access数据库,不需要设置数据源
     *********  Date: 2005.8
     *********  Email:fanwsp@126.com
     *********  Author: DreamTime [梦想年华]
     *********  有任何欢迎提出指正   
     **********************************/

     
    
     // ******* 数据库连接代码 开始  *****
     //异常处理语句
    try
     {
         //以下几项请自行修改
         String spath  =  "data/test.mdb" ; //Access 数据库路径
         String dbpath  = application .getRealPath (spath ) ; //转化成物理路径
         String dbname  =  "" ;         //Acvess 数据库用户名,没有则为空
         String user  =  "" ;         //Access 数据库密码,没有则为空
//数据库连接字符串 
         String  url  = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" +dbpath ; 
         //加载驱动程序
        Class .forName ( "sun.jdbc.odbc.JdbcOdbcDriver" ) ;
         //建立连接
        Connection conn = DriverManager .getConnection ( url ) ; 
         //创建语句对象
        Statement stmt =conn .createStatement (ResultSet .TYPE_SCROLL_SENSITIVE ,ResultSet .CONCUR_UPDATABLE ) ;
         // ****   数据库连接代码 结束 ******
        
         //*********  测试数据代码开始  ******
         //请在数据库中建立username表,表中建立两个字段uid和pwd,类型为文本型
         String sql  =  "select * from username" ;
        ResultSet rs  = stmt .executeQuery (sql ) ;
         while (rs .next ( ) )
         {
            out . print ( "用户名:"  + rs .getString ( "uid" ) ) ;
            out . print ( "  密码:"  + rs .getString ( "pwd" )  +  "<br>" ) ;
         }
        out . print ( "<br>恭喜你!数据库连接成功!" ) ;
        rs .close ( ) ;                                     //关闭记录集对象
        stmt .close ( ) ;                                 //关闭语句对象
        conn .close ( ) ;                                 //关闭连接对象
     }catch (Exception e ) {
        out . print ( "数据库连接错误!,错误信息如下:<br>" ) ;
        out . print (e .getMessage ( ) ) ;
         }
     //*******   测试数据代码结束  *******
% >


第二种,JavaBean的形式。
程序代码 程序代码
/*
***************************************
  *            作用: java连接Access数据库代码  
*    作者:梦想年华
*    Email:fanwsp@126.com
*    Author:梦想年华
*     CopyRight(c)2005-2006 by DreamTime 
******** *******************************
*/

[/color]

package conn ;                             //导入包
import java .sql . * ;                         //导入数据库操作的类

public class DBConnAccess                 //构造方法,初始化
{

     private Connection conn ;             //连接对象
     private Statement stmt ;                 //语句对象
     private ResultSet rs ;                 //结果集对象
     private  String accessdriver ;         //保存Access驱动程序字符串
     private  String accessURL ;              //保存Access连接字符串

     public DBConnAccess ( )
     {
         //Access驱动程序
        accessdriver  =  "sun.jdbc.odbc.JdbcOdbcDriver" ;        
         //连接字符串
        accessURL  =  "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" ;
        conn  =  null ;
     }

     //该方法从参数得到数据库路径,并加到连接字符串后面,然后再建立连接
     public Connection getConnToAccess ( String dbpath ) {
        try {
            accessURL =accessURL +dbpath ;
            Class .forName (accessdriver ) ;
            conn  = DriverManager .getConnection (accessURL ) ;
             }catch (Exception e ) {
                 System .out .println ( "操作数据库出错,请仔细检查" ) ;
                 System .err .println (e .getMessage ( ) ) ;
             }
         return conn ;
     }
    
    
        
    //关闭数据库连接
     public  void close ( )
     {
        try {
             //rs.close();
             //stmt.close();
            conn .close ( ) ; 
         }catch (SQLException sqlexception ) {
            sqlexception .printStackTrace ( ) ;
         }
     }
}


调用方法如下:
程序代码 程序代码
<meta http -equiv = "Content-Type" content = "text/html; charset=gb2312" >
< %@ page  contentType = "text/html; charset=gb2312"  language = "java" 
import = "java.sql.*"   % >
<jsp :useBean id = "DBConn" scope = "page" class = "conn.DBConnAccess" / >
< % 
     //连接Access 数据库
     String dbpath = "data/test.mdb" ;             //数据库的路径,请自行修改
    Connection conn =DBConn .getConnToAccess (application .getRealPath (dbpath ) ) ;
    Statement stmt =conn .createStatement (ResultSet .TYPE_SCROLL_INSENSITIVE ,ResultSet .CONCUR_READ_ONLY ) ;
          String sql = "select * from username order by id" ;
     //String sql1="insert into username (uid,pwd) values('wsp','wsp')";
     //stmt.executeUpdate(sql1);
    ResultSet rs =stmt .executeQuery (sql ) ;
    
     while (rs .next ( ) ) {
    out . print ( "用户名:" ) ;
    out . print (rs .getString ( "uid" ) + " 密码:" ) ;
    out .println (rs .getString ( "pwd" ) + "<br>" ) ;
     }
    DBConn .close ( ) ;
% >

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值