適用初學者的JSP連接Access數據庫代碼
Web開發編程軟件 界面設計軟件!
適用初學者的JSP連接Access數據庫代碼,剛剛寫的一個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="Webindex.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")+" ;");
out.print(rs.getString("username")+" ;");
out.print(rs.getString("password")+" ;");//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:[email protected]
; ;********* ;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:[email protected]
* ; ;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();
%>
相關文章:
