JSP串連Access資料庫的代碼[原創]

來源:互聯網
上載者:User
剛剛寫的一個Java Web 中串連Access資料庫的代碼。這些天講到資料庫操作,但是我的本子是XP home版,安裝SQL Server比較麻煩,乾脆弄個ACCESS來示範好了。有時小型案頭資料庫還是蠻實用的嘛,哈~

<%@ page contentType="text/html; charset=GB18030" %>
<%@page import="java.sql.*" %>
<html>
<head>
<title>
jsp1
</title>
</head>
<body bgcolor="#ffffff">
<form method="POST" action="/Web/index.jsp">
<%

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
out.print("資料庫驅動程式裝入錯誤");
}

try{
String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+request.getRealPath("/")+"test.mdb";
//特別注意上面的Driver和(*.mdb)之間是有空格的
/*這個test.mdb檔案是存放在Web Module目錄下的,當然可以自行改變路徑*/
Connection conn=DriverManager.getConnection(url);
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("SELECT * FROM log");//log為表名,和SQL一樣
while(rs.next()){
  out.print(rs.getInt("ID")+"&nbsp;&nbsp;");
  out.print(rs.getString("username")+"&nbsp;&nbsp;");
  out.print(rs.getString("password")+"&nbsp;&nbsp;");//log表中三個欄位,主鍵是ID,自增的。username和password是文本類型。
  out.println("<br>");
}
rs.close();
stmt.close();
conn.close();
}

catch(Exception ex){
out.print(ex);
}

%>
</form>
</body>
</html>

================================================================================
下面是網上搜的一些JSP或JavaBean串連ACCESS的代碼,摘自【http://blog.csdn.net/rimoer/archive/2007/04/06/1554842.aspx】

我寫的一個用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 ( "使用者名稱:" ) ;
   &n
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.