JSP连接Access数据库的代码

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

  1. <%@ page contentType="text/html; charset=gb2312" language="java"
  2. import="java.sql.*"%>
  3. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  4. <%
  5.     /*********************************
  6.      *********  JDBC_ODBC连接Access数据库,不需要设置数据源
  7.      *********  Date: 2005.8
  8.      *********  有任何欢迎提出指正   
  9.      **********************************/
  10.      
  11.     
  12.     // ******* 数据库连接代码 开始  *****
  13.     //异常处理语句
  14.     try
  15.     {
  16.         //以下几项请自行修改
  17.         String spath = "data/test.mdb";//Access 数据库路径
  18.         String dbpath = application.getRealPath(spath);//转化成物理路径
  19.         String dbname = "";        //Acvess 数据库用户名,没有则为空
  20.         String user = "";        //Access 数据库密码,没有则为空
  21. //数据库连接字符串 
  22.         String url ="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+dbpath; 
  23.         //加载驱动程序
  24.         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  25.         //建立连接
  26.         Connection conn= DriverManager.getConnection(url); 
  27.         //创建语句对象
  28.         Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
  29.         // ****   数据库连接代码 结束 ******
  30.         
  31.         //*********  测试数据代码开始  ******
  32.         //请在数据库中建立username表,表中建立两个字段uid和pwd,类型为文本型
  33.         String sql = "select * from username";
  34.         ResultSet rs = stmt.executeQuery(sql);
  35.         while(rs.next())
  36.         {
  37.             out.print("用户名:" + rs.getString("uid"));
  38.             out.print("  密码:" + rs.getString("pwd") + "<br>");
  39.         }
  40.         out.print("<br>恭喜你!数据库连接成功!");
  41.         rs.close();                                    //关闭记录集对象
  42.         stmt.close();                                //关闭语句对象
  43.         conn.close();                                //关闭连接对象
  44.     }catch(Exception e){
  45.         out.print("数据库连接错误!,错误信息如下:<br>");
  46.         out.print(e.getMessage());
  47.         }
  48.     //*******   测试数据代码结束  *******
  49. %>

第二种,JavaBean的形式。

  1. /*
  2. ***************************************
  3.   *            作用: java连接Access数据库代码  
  4. *    作者:梦想年华
  5. *    Email:[email protected]
  6. *    Author:梦想年华
  7. *     CopyRight(c)2005-2006 by DreamTime 
  8. ******** *******************************
  9. */
  10. [/color]
  11. package conn;                            //导入包
  12. import java.sql.*;                        //导入数据库操作的类
  13. public class DBConnAccess                //构造方法,初始化
  14. {
  15.     private Connection conn;            //连接对象
  16.     private Statement stmt;                //语句对象
  17.     private ResultSet rs;                //结果集对象
  18.     private String accessdriver;        //保存Access驱动程序字符串
  19.     private String accessURL;             //保存Access连接字符串
  20.     public DBConnAccess()
  21.     {
  22.         //Access驱动程序
  23.         accessdriver = "sun.jdbc.odbc.JdbcOdbcDriver";        
  24.         //连接字符串
  25.         accessURL = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
  26.         conn = null;
  27.     }
  28.     //该方法从参数得到数据库路径,并加到连接字符串后面,然后再建立连接
  29.     public Connection getConnToAccess(String dbpath){
  30.         try{
  31.             accessURL=accessURL+dbpath;
  32.             Class.forName(accessdriver);
  33.             conn = DriverManager.getConnection(accessURL);
  34.             }catch(Exception e){
  35.                 System.out.println("操作数据库出错,请仔细检查");
  36.                 System.err.println(e.getMessage());
  37.             }
  38.         return conn;
  39.     }
  40.     
  41.     
  42.         
  43.    //关闭数据库连接
  44.     public void close()
  45.     {
  46.         try{
  47.             //rs.close();
  48.             //stmt.close();
  49.             conn.close(); 
  50.         }catch(SQLException sqlexception){
  51.             sqlexception.printStackTrace();
  52.         }
  53.     }
  54. }
调用方法如下:

 

  1. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  2. <%@ page contentType="text/html; charset=gb2312" language="java" 
  3. import="java.sql.*"  %>
  4. <jsp:useBean id="DBConn" scope="page" class="conn.DBConnAccess"/>
  5. <% 
  6.     //连接Access 数据库
  7.     String dbpath="data/test.mdb";            //数据库的路径,请自行修改
  8.     Connection conn=DBConn.getConnToAccess(application.getRealPath(dbpath));
  9.     Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
  10.          String sql="select * from username order by id";
  11.     //String sql1="insert into username (uid,pwd) values('wsp','wsp')";
  12.     //stmt.executeUpdate(sql1);
  13.     ResultSet rs=stmt.executeQuery(sql);
  14.     while(rs.next()){
  15.     out.print("用户名:");
  16.     out.print(rs.getString("uid")+" 密码:");
  17.     out.println(rs.getString("pwd")+"<br>");
  18.     }
  19.     DBConn.close();
  20. %>

                               

转自 梦想年华

你可能感兴趣的:(JSP连接Access数据库的代码)