Statement stm = null;
ResultSet rs = null;
Connection con=null;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:MS Access Database;DBQ=.\\1.mdb";//打开同一目录下的1.mdb
con = DriverManager.getConnection(url,"","");
stm = con.createStatement();
String sql = "";
rs = stm.executeQuery("");
if(rs.next())
{
your code;
}
else
{
out.println("no rs!");
}
}
………………
ResultSet rs = null;
Connection con=null;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:MS Access Database;DBQ=.\\1.mdb";//打开同一目录下的1.mdb
con = DriverManager.getConnection(url,"","");
stm = con.createStatement();
String sql = "";
rs = stm.executeQuery("");
if(rs.next())
{
your code;
}
else
{
out.println("no rs!");
}
}
………………
解决方案 »
- 在intellij IDE中部署web项目出现“duplicated context path‘/’”如何解决
- 一百分求解,急!解决马上结仇,谢谢各位,高手请进,关于标签问题,闷头三天没有解决
- 求高手指点!
- 想装个linux系统,请问大家用的是哪个公司的哪个版本的Linux(我现在系统是2000,如果再装个Linux进行双启动,请问在装的时候会不会很容
- 高分求java聊天室代码
- 一个什么分急的问题,请大家帮忙!!
- 请教?此问题看似简单,做起来可不一定啦,不信你试试,朋友
- 为什么这段程序运行不过去?请大家告诉我
- 有人用过EXPRESSO, 请教它的用法最好有文档推荐
- 请问怎样把自己的电脑作为JSP服务器, 别的机上可以登录..???
- 用ant 预编译我的工程,请赐教
- 为什么不能读取路径下的文件信息?高分求助!!!
import java.sql.*;
public class jdbc
{
String dbUrl="jdbc:odbc:youdb";
String theUser="";
String thePw="";
Statement conn;
Connection c=null;
ResultSet rs=null;
String dbDriver="sun.jdbc.odbc.JdbcOdbcDriver";
public jdbc()
{
try
{
Class.forName(dbDriver);
c=DriverManager.getConnection(dbUrl,theUser,thePw);
conn=c.createStatement();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public boolean executeUpdate(String sql)
{
try
{
conn.executeUpdate(sql);
return true;
}
catch (SQLException e)
{
e.printStackTrace();
return false;
}
}
public ResultSet executeQuery(String sql)
{
rs=null;
try
{
rs=conn.executeQuery(sql);
}
catch (SQLException e)
{
e.printStackTrace();
}
return rs;
}
public void close()
{
try
{
conn.close();
c.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}}
不能这样写的,而应该这样写:String sConnStr = "jdbc:odbc:faq";
因为他只是一个数据源的名字,而不是库名!
package test;
import java.sql.*;
public class faq {
String sDBDriver ="sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:MS Access Database;DBQ=.\\faq.mdb";
Connection conn = null;
ResultSet rs = null;
public faq() {
try {
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("faq(): " + e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
conn = DriverManager.getConnection(sConnStr);
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs;
}
}
aq.executeQuery: [Microsoft][ODBC Microsoft Access Driver] 找不到文件 '(未知的)'
我想问一下,请高手解惑。
String url = "jdbc:odbc:MS Access Database;DBQ=.\\1.mdb"; //打开同一目录下的1.mdb
如果不是同一个目录,应该这样写吗?
真实目录?
C:\hihigo\1.mdb
还是虚拟目录?
/test/1.mdb
(如果你在useBean或servlet里面写要自已做相应的改动,我也不会,呵呵,可以问下高手)
String dbpath=request.getServletPath().substring(0,request.getServletPath().indexOf("/",1)+1);
if(dbpath.trim().equals(""))dbpath="/";
String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+application.getRealPath("")+dbpath+"odbc.mdb;";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(url);
Statement stmt=con.createStatement();
sql="select * from book";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
--------------
}
是equals(" "))还是equals("")),中间有空格吗?
是equals(" "))还是equals("")),中间有空格吗?
(注意要放到同一目录下)
我的数据库下载:
http://202.112.104.252:8080/bluecn/odbc.mdb
odbc.jsp:
<h2>JSP不用数据源直接连接MDB数据库</h2><br><br>
<h3>以下是MDB数据库的内容</h3>
<%@page contentType="text/html; charset=gb2312" language="java"%>
<%@ page import="java.sql.*" %>
<html>
<head>
<title>odbc</title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
</head>
<body>
<%
try
{ String dbpath=request.getServletPath().substring(0,request.getServletPath().indexOf("/",1)+1);
if(dbpath.trim().equals(""))dbpath="/";
String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+application.getRealPath("")+dbpath+"odbc.mdb;";
//String url=("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=d:\\web\\odbcMdb\\odbc.mdb;ImplicitCommitSync=Yes;MaxBufferSize=512;MaxScanRows=128;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes;").replace('\\','/');
//url="jdbc:odbc:odbc.DataName";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(url);
Statement stmt=con.createStatement();
String sql,name,theme,content,qq,mail,tdate,reply,rdate,admin,password;
int bookid,adminid;
sql="select * from book";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
bookid=rs.getInt("id");
name=rs.getString("name");
theme=rs.getString("theme");
content=rs.getString("content");
qq=rs.getString("qq");
mail=rs.getString("mail");
tdate=rs.getString("tdate");
reply=rs.getString("reply");
rdate=rs.getString("rdate");
out.println(bookid+"<br>"+name+"<br>"+theme+"<br>"+content+"<br>"+qq+"<br>"+mail+"<br>"+tdate+"<br>"+reply+"<br>"+rdate+"<br><br><br>");
}
if(rs!=null)rs.close();
if(stmt!=null)stmt.close();
if(con!=null)con.close();
}catch(SQLException e){
while(e!=null){
out.println("SQLState:"+e.getSQLState());
out.println("Message:"+e.getMessage());
out.println("Vendor:"+e.getErrorCode());
e=e.getNextException();
}
}
%>
http://202.112.104.252:8080/bluecn/odbc.jsp