首页 > 编程 > JSP > 正文

适用初学者的JSP连接Access数据库代码

2024-09-05 00:19:05
字体:
来源:转载
供稿:网友

适用初学者的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="/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")+"  ");
  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();
%>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表