给你个例子,自己配access看一下
linkaccess.java:不配置ODBC数据源,用JDBC-ODBC桥连接Access数据库
import java.sql.*;
class linkaccess{
public static void main (String args[]) throws Exception{
Connection con;
Statement stmt;
try{
//Load JDBC driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//注意DBQ的写法
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=C:\\jdk1.3.1\\javaprograms\\jdbc.mdb";
con = DriverManager.getConnection(url,"sa","");
stmt = con.createStatement();
String query = "select * from userInfo where name = 'bi'";
ResultSet rs = stmt.executeQuery(query);
while ( rs.next() )
{
System.out.print("connecting is ok" );
}
close db
try{
if(!con.isClosed())
con.close();
}catch(SQLException err){
System.err.println(err.toString());
}
}
catch( Exception e ){
e.printStackTrace();
}
}
}
桥连接
引入 import java.sqi.*;包
创建一个 Connection(连接类) 实例 conn
连接方法 JDBC和ODBC的连接
Class.forName("sun.jdbc.odbc.JdbcOdbcDrive");
conn = DriverManager.getConnection("jdbc:odbc:(数据库名)","登陆用户名","登陆用户密码");
驱动连接
{
创建一个 Connection(连接类) 实例 conn
com.microsoft:jdbc.sqlserver.SQlserverDriver
Class.forName("com.microsoft:jdbc.sqlserver.SQLserverDriver");
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://(连接地址)LocalHost:1433(sql开放端口);DateName=(数据库名)","登陆用户名","用户登陆密码");
}
执行
{statement
创建执行Statement(执行) sql
sql = conn.CreateStatement(1005(刷新),1008(游标,位置指定));
//上下两句话同义
sql = conn.CreateStatement(ResultSet.CONCUR_UPDATABLE,ResultSet.TYPE_SCROLL_SENSITIVE);
}
结果集
{
做增,删,改必须用 sql.executeUpdate()
做 查 sql.executeQuery()
创建 ResultSet(结果集对象) rs
rs(返回表) = sql.executeQuery("select * from liutao(表名)");
//将返回的结果集添加到 表格模型中
while(rs.next()(查询结果的指针指向第一行结果之前)){
vl = new Vector();//在每次循环的时候清空向量
vl.add(rs.getInt(1));向向量中添加 游标指向的这一行的第一列
getInt()取表中的整数,可以用不同的方法,取决于表
中列元素的类型
DefaultTableModel dm ;
dm.addRow(vl);
}
rs.close();
sql.close();
conn.close();
}