怎么用java直接access数据库
不要用jdbc-odbc桥连接,就是直接用java连接access数据库,请问怎么连接,最好能给一个例子,谢谢了!!补充:1.我现在下来了access的驱动.jar,这个...
不要用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.我现在下来了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);//就可以删除或者修改
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连接方式
展开全部
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();
}
}
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();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询