怎么用java直接access数据库

不要用jdbc-odbc桥连接,就是直接用java连接access数据库,请问怎么连接,最好能给一个例子,谢谢了!!
补充:1.我现在下来了access的驱动.jar,这个文件要怎么用?如何写代码?
2.还有Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 这句代码一定是表示用了jdbc-odbc桥么? 用JAVA直接连接ACCESS也是用这句么?
3.Connection con = DriverManager.getConnection("连接字符串","用户名称","密码");这句用java直接连接ACCESS应该怎么写?
谢谢!

【转】
1.把这个类建好:

import java.sql.*;
public class Conn
{
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr="jdbc:odbc:";
Connection connect=null;
ResultSet rs=null;
Statement stmt;
public Object close;

public Conn(String odbc) //连接数据库 :参数odbc指数据源名称
{
try{
Class.forName(sDBDriver);
}catch(Exception e){}
try{
connect=DriverManager.getConnection(sConnStr+odbc);
}catch(Exception ex){}
}

public ResultSet Query_Rs(String sql)
{
try{
Statement stmt=connect.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}catch(SQLException ex){}

return rs;
}

public boolean Query_Cmd(String sql)
{
boolean rlt=false;
try {
Statement stmt = connect.createStatement();
rlt=stmt.execute(sql);
} catch (SQLException ex) {
System.out.println(ex);
}
return rlt;

}
public void closeConn()
{
try
{
this.rs.close() ;
this.stmt.close() ;
this.connect.close() ;
}
catch (Exception e)
{
}
}
}

2.在本机上建好access数据源:
写个测试:

Conn conn = new Conn("你的数据源") ;
conn.ResultSet(SQL);//就可以查询了
conn.Query_Cmd(SQL);//就可以删除或者修改追问

用java直接连接access不是得用驱动包么?你用驱动包那步体现在哪了?还有connect=DriverManager.getConnection(sConnStr+odbc);这句“+odbc”是什么意思啊?

追答

Class.forName(sDBDriver); 这个是调用包。
/**
* 采用ODBC连接方式
开始】->【控制面板】->【性能和维护】->【管理工具】->【数据源】,在数据源这里添加一个指向a1.mdb文件的数据源。
* 比如创建名字为dataS1
*/
String odbc= "jdbc:odbc:dataS1";// 此为ODBC连接方式

追问

我不想用jdbc桥。。。
我要用java直接连接access你知道怎么连么? 就是type4的那种

我不想用jdbc桥。。。
我要用java直接连接access你知道怎么连么? 就是type4的那种

追答

import java.sql.*;
public class ConnectAccess {
/**
* 初学者请注意:
* 1:先建立一个access文件a1.mdb,并放在D:/下;
* 2:在数据库文件a1.mdb中建立一个表Table1;
* 3:为Table1添加一列,并插入至少一条记录;
* 4:本文是一个完整的类,直接拿去运行就可以。
*/
public static void main(String args[]) throws Exception {
ConnectAccess ca=new ConnectAccess();
ca.ConnectAccessFile();
ca.ConnectAccessDataSource();
}
public void ConnectAccessFile() throws Exception
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
/**
* 直接连接access文件。
*/
String dbur1 = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=d://a1.mdb";
Connection conn = DriverManager.getConnection(dbur1, "username", "password");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from Table1");
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
stmt.close();
conn.close();
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-30
import java.sql.*;
public class dbaccess{
public static void main(String args[]) throws Exception{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dburl ="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=Mobile.mdb";//此为NO-DSN方式
//String dburl ="jdbc:odbc:odbcName";//此为ODBC连接方式
Connection conn=DriverManager.getConnection(dburl);
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select Top 20 * from MobileSection");
System.out.println("号段/t地区/t类型/t省份/t区号");
while(rs.next()){
System.out.println(rs.getString(1)+"/t"+rs.getString(2)+"/t"+rs.getString(3)+"/t"+rs.getString(4)+"/t"+rs.getString(5));
}
rs.close();
stmt.close();
conn.close();
}
}
相似回答