如何用jsp连Access数据库!!急(100分)

  • 主题发起人 主题发起人 雨林^-^
  • 开始时间 开始时间

雨林^-^

Unregistered / Unconfirmed
GUEST, unregistred user!
如何用jsp连Access数据库!!急......最好能给个完整的例子先谢啦!
 
<!--本程序用来测试Jsp到Access的连接-->
<%@ page contentType="text/html;
charset=GBK" %>
<%@ page errorPage="accesstest_error.jsp" %>
<html>
<head>
<title>
jdbc test
</title>
</head>
<body bgcolor="#ffffff">
<h1>
Jdbc 连接到 Access 数据库的例子</h1>
<%
java.sql.Connection sqlCon;
//数据库连接对象
java.sql.Statement sqlStmt;
//SQL语句对象
java.sql.ResultSet sqlRst;
//结果集对象
java.lang.String strCon;
//数据库连接字符串
java.lang.String strSQL;
//SQL语句
String mdbpath=request.getRealPath("/");
//装载JDBC-ODBC驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//设置数据库连接字符串
//strCon = "jdbc:informix-sqli://61.233.138.2:5000/crcdbs:informixserver=online";
//"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+ mdbpath+"//dbtest.mdb";
//数据库是一个Access文件,里面有一张表user,表里有userid和userpass两个字段
sqlCon = java.sql.DriverManager.getConnection(strCon,"informix","inforwe");
//创建SQL语句对象
sqlStmt = sqlCon.createStatement();
//执行插入几条记录的SQL语句
strSQL = "insert into user (userid,userpass) values(/'user111/',/'pass111/')";
out.println(strSQL);
///out.println("插入操作的返回值是"+sqlStmt.executeUpdate(strSQL));
//获取记录总数
strSQL = "select * from sx_userdata where LoginID='" + "qertyu" + "'" ;
//判断条件是 where userid="+request.getParameter("userid")+" and userpass="+request.getParameter("userpass") ;
//一些数据库里的查询的判断条件
out.println(strSQL);
//strSQL = "select * from user";
out.println(strSQL);
sqlRst = sqlStmt.executeQuery(strSQL);
//打印测试
if( sqlRst != null ){
out.println("一共有"+sqlRst.getRow()+"条记录");
while( sqlRst.next() ){
out.println("你的用户名字是:/t" + sqlRst.getString(1)+"<br>");
out.println("你的密码是:/t" + sqlRst.getString(2)+"<br>");
out.println("你的密码是:/t" + sqlRst.getString(3)+"<br>");
out.println("你的密码是:/t" + sqlRst.getString(4)+"<br>");
out.println("你的密码是:/t" + sqlRst.getString(5)+"<br>");
out.println("你的密码是:/t" + sqlRst.getString(6)+"<br>");
}

}
sqlRst.close();
sqlCon.close();
%>
</body>
</html>
 
这位大哥accesstest_error.jsp这个文件起了啥作用?你好像没给我!
 
我跑了这段代码
<!--本程序用来测试Jsp到Access的连接-->
<%@ page contentType="text/html;
charset=GBK" %>
<%@ page errorPage="accesstest_error.jsp" %>
<html>
<head>
<title>
jdbc test
</title>
</head>
<body bgcolor="#ffffff">
<h1>
Jdbc 连接到 Access 数据库的例子</h1>
<%
java.sql.Connection sqlCon;
//数据库连接对象
java.sql.Statement sqlStmt;
//SQL语句对象
java.sql.ResultSet sqlRst;
//结果集对象
java.lang.String strCon;
//数据库连接字符串
java.lang.String strSQL;
//SQL语句
String mdbpath=request.getRealPath("/");
//装载JDBC-ODBC驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//设置数据库连接字符串
//strCon = "jdbc:informix-sqli://61.233.138.2:5000/crcdbs:informixserver=online";
//"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="TC.mdb";
//数据库是一个Access文件,里面有一张表user,表里有userid和userpass两个字段
sqlCon = java.sql.DriverManager.getConnection(strCon,"informix","inforwe");
//创建SQL语句对象
sqlStmt = sqlCon.createStatement();
//执行插入几条记录的SQL语句
strSQL = "insert into user (username,password) values(/'user111/',/'pass111/')";
out.println(strSQL);
///out.println("插入操作的返回值是"+sqlStmt.executeUpdate(strSQL));
sqlCon.close();
%>
</body>
</html>

服务器提示

错误发生在 jsp 文件:/test.jsp 的行:13 和 36 之间
生成的 servlet 错误:
C:/IBMWORK/.metadata/.plugins/com.ibm.etools.server.core/tmp1/cache/localhost/server1/DefaultEAR/TC.war/_test.java:91: 变量 strCon 可能还未被初始化
(没有源程序)
注意:
C:/IBMWORK/.metadata/.plugins/com.ibm.etools.server.core/tmp1/cache/localhost/server1/DefaultEAR/TC.war/_test.java 使用或重载一个不鼓励使用的 API。
注意:
使用 -deprecation 重新编译,以得到详细信息。
1 个错误
]:org.apache.jasper.JasperException: 无法编译 JSP 类
错误发生在 jsp 文件:/test.jsp 的行:13 和 36 之间
生成的 servlet 错误:
C:/IBMWORK/.metadata/.plugins/com.ibm.etools.server.core/tmp1/cache/localhost/server1/DefaultEAR/TC.war/_test.java:91: 变量 strCon 可能还未被初始化
(没有源程序)
注意:
C:/IBMWORK/.metadata/.plugins/com.ibm.etools.server.core/tmp1/cache/localhost/server1/DefaultEAR/TC.war/_test.java 使用或重载一个不鼓励使用的 API。
注意:
使用 -deprecation 重新编译,以得到详细信息。
1 个错误
 
<!--本程序用来测试Jsp到Access的连接-->
<%@ page contentType="text/html;
charset=GBK" %>
<html>
<head>
<title>
jdbc test
</title>
</head>
<body bgcolor="#ffffff">
<h1>
Jdbc 连接到 Access 数据库的例子</h1>
<%
java.sql.Connection sqlCon;
//数据库连接对象
java.sql.Statement sqlStmt;
//SQL语句对象
java.sql.ResultSet sqlRst;
//结果集对象
java.lang.String strCon;
//数据库连接字符串
java.lang.String strSQL;
//SQL语句
//装载JDBC-ODBC驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//设置数据库连接字符串
strCon = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="c://TC.mdb";
//数据库是一个Access文件,里面有一张表user,表里有userid和userpass两个字段
sqlCon = java.sql.DriverManager.getConnection(strCon,"informix","inforwe");
//创建SQL语句对象
sqlStmt = sqlCon.createStatement();
//执行插入几条记录的SQL语句
strSQL = "insert into user (username,password) values(/'user111/',/'pass111/')";
out.println(strSQL);
///out.println("插入操作的返回值是"+sqlStmt.executeUpdate(strSQL));
sqlCon.close();
%>
</body>
</html>

////DBQ="c://TC.mdb";
///注意这里,根据自己需要来设置:
 
这位 lnboy 大哥我运行了,有下列错误,是不是要按 JDBC-ODBC 驱动如果是能不能给我个下载地址,小弟不胜感激!(顺便说一下我用的是websphere studio 编译的)
04-5-11 16:25:57:891 CST] 4c3b01f7 WebGroup I SRVE0180I: [TC] [/TC] [Servlet.LOG]: /test.jsp: init
[04-5-11 16:25:59:531 CST] 4c3b01f7 WebGroup E SRVE0026E: [Servlet 错误]-[sun.jdbc.odbc.JdbcOdbcDriver]:java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
 
我给你写一个吧
<%@ page import="java.sql.*,java.util.*"%>
<html>
<head><title></title></head>
<body>
<%
Connection con=null;
String sDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String sUrl="jdbc:odbc:test";
//test是你在ODBC里建立的access数据源
try{
Class.forName(sDriver);
con=DriverManager.getConnection(sUrl);
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from tablename");
while(rs.next()){
out.println(rs.getString("fieldname"));
}
rs.close();
stmt.close();
con.close();
}
catch(Exception e){}
%>
</body>
</html>
 
多谢两位
 
后退
顶部