好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

转载 JAVA SE 连接ACCESS

 

操作步骤:

1、进入控制面板,打开[管理工具→数据源(ODBC)],弹出[ODBC数据源管理器],在[用户DSN]选项卡中,单击选中名称为[Visio Database Sample],驱动程序为[Microsoft Access Driver(*.mdb,*.accdb)]的选项(注意:*.mdb 是ACCESS 2003的数据库扩展名,*.accdb是access 2007及以上的扩展名,如果看不到该选项,请确认已经安装access软件),然后单击 [添加]按钮,弹出[创建新数据源]对话框,选择[Microsoft Access Driver(*.mdb,*.accdb)](对access 2003 和 access2007均适用),单击[完成]按钮,弹出 "ODBC Microsoft Access 安装" 对话框,在 数据源名 中输入 你的access 数据库名称,比如 [book],然后单击 [选择]按钮,在弹出的 对话框中找到 你电脑上的数据库文件(如我的 [book]数据库文件),最后单击确定按钮,返回相应的对话框,然后选择 [确定] [完成],最后回到 [ODBC数据源管理器]可以看到 用户数据源中出现了[book]数据源,

2、连接数据库的关键语句:

加载驱动程序:
String sDriver="sun.jdbc.odbc.JdbcOdbcDriver";
Class.forName(sDriver);

连接数据库:
Connection dbCon=null;
String sCon="jdbc:odbc:book"; //book 就是数据库名称
dbCon=DriverManager.getConnection(sCon);

执行数据库操作:
Statement stmt=stmt=dbCon.createStatement();
String sSQL="SELECT * "+" FROM bookindex";
ResultSet rs=stmt.executeQuery(sSQL);
while(rs.next()){
 int num;
 System.out.print(rs.getString("BookID")+"  ");  //输出对应字段的值
 System.out.print(rs.getString("BookTitle")+"  ");
 System.out.print(rs.getString("BookAuthor"));
 System.out.println("  " +rs.getFloat("BookPrice"));
}

关闭数据库连接
stmt.close();
dbCon.close();

实例代码如下(有 book数据库,表bookindex,字段有 :BookID、BookTitle、BookAuthor、BookPrice)


 

 

[java] view plaincopyprint? <SPAN style= "FONT-SIZE: 18px"> import java.sql.*;   public  class DBconnTest {        public  static  void main(String args[]) {            //步骤1:加载驱动程序            String sDriver= "sun.jdbc.odbc.JdbcOdbcDriver";            try{               Class.forName(sDriver);           }            catch(Exception e){               System.out.println( "无法加载驱动程序");                return;           }           System.out.println( "步骤1:加载驱动程序——成功!");           Connection dbCon= null;           Statement stmt= null;           String sCon= "jdbc:odbc:book";            try{               dbCon=DriverManager.getConnection(sCon);                if(dbCon!= null){                   System.out.println( "步骤2:连接数据库——成功!");               }                //步骤3:建立JDBC的Statement对象                stmt=dbCon.createStatement();                if(stmt!= null){                   System.out.println( "步骤3:建立JDBC的Statement对象——成功!");               }           }            catch(SQLException e){               System.out.println( "连接错误:"+sCon);               System.out.println(e.getMessage());                if(dbCon!= null){                    try{                       dbCon.close();                   }                    catch(SQLException e2){}               }                return;           }            try{ //执行数据库查询,返回结果                String sSQL= "SELECT * "+ " FROM bookindex";               ResultSet rs=stmt.executeQuery(sSQL);                while(rs.next()){                   System.out.print(rs.getString( "BookID")+ "  ");                   System.out.print(rs.getString( "BookTitle")+ "  ");                   System.out.print(rs.getString( "BookAuthor"));                   System.out.println( "  " +rs.getFloat( "BookPrice"));               }           }            catch(SQLException e){               System.out.println(e.getMessage());           }                finally{                    try{                        //关闭步骤3所开启的statement对象                        stmt.close();                       System.out.println( "关闭statement对象");                   }                    catch(SQLException e){}                    try{                        //关闭数据库连接                        dbCon.close();                       System.out.println( "关闭数据库连接对象");                   }                    catch(SQLException e){}              }         }   }   </SPAN>  
 import java.sql.*;
public class DBconnTest {
	public static void main(String args[]) {
		//步骤1:加载驱动程序
		String sDriver="sun.jdbc.odbc.JdbcOdbcDriver";
		try{
			Class.forName(sDriver);
		}
		catch(Exception e){
			System.out.println("无法加载驱动程序");
			return;
		}
		System.out.println("步骤1:加载驱动程序——成功!");
		Connection dbCon=null;
		Statement stmt=null;
		String sCon="jdbc:odbc:book";
		try{
			dbCon=DriverManager.getConnection(sCon);
			if(dbCon!=null){
				System.out.println("步骤2:连接数据库——成功!");
			}
			//步骤3:建立JDBC的Statement对象
			stmt=dbCon.createStatement();
			if(stmt!=null){
				System.out.println("步骤3:建立JDBC的Statement对象——成功!");
			}
		}
		catch(SQLException e){
			System.out.println("连接错误:"+sCon);
			System.out.println(e.getMessage());
			if(dbCon!=null){
				try{
					dbCon.close();
				}
				catch(SQLException e2){}
			}
			return;
		}
		try{//执行数据库查询,返回结果
			String sSQL="SELECT * "+" FROM bookindex";
			ResultSet rs=stmt.executeQuery(sSQL);
			while(rs.next()){
				System.out.print(rs.getString("BookID")+"  ");
				System.out.print(rs.getString("BookTitle")+"  ");
				System.out.print(rs.getString("BookAuthor"));
				System.out.println("  " +rs.getFloat("BookPrice"));
			}
		}
		catch(SQLException e){
			System.out.println(e.getMessage());
		}
            finally{
                try{
                    //关闭步骤3所开启的statement对象
                    stmt.close();
                    System.out.println("关闭statement对象");
                }
                catch(SQLException e){}
                try{
                    //关闭数据库连接
                    dbCon.close();
                    System.out.println("关闭数据库连接对象");
                }
                catch(SQLException e){}
           }
      }
}
 

 


上面的方法问题:只对本机有效,换个电脑就找不到数据源了,需要重新配置 access数据源

 

在连接数据库时,可以直接指定数据库 的路径,最好将数据库和源文件放到一个目录里,这样就不用再配置数据源了。方法如下:

将指定数据源语句代码更改为如下:

原先代码:

String sCon="jdbc:odbc:book";

更改后代码:(注意,这里将数据库与程序源文件放到同一目录下,如果用 eclipse 则是放到 项目文件夹中,与.classpath 同级。

String sCon = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=book.mdb";

也可以在eclipse 中建立个文件夹 比如 DB 文件夹,则语句还要加上目录如下:

String sCon = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DB/book.mdb";

 

实例如下:

[java] view plaincopyprint? <SPAN style= "FONT-SIZE: 18px"> import java.sql.*;   public  class DBconnTest {        public  static  void main(String args[]) {            //步骤1:加载驱动程序            String sDriver= "sun.jdbc.odbc.JdbcOdbcDriver";            try{               Class.forName(sDriver);           }            catch(Exception e){               System.out.println( "无法加载驱动程序");                return;           }           System.out.println( "步骤1:加载驱动程序——成功!");           Connection dbCon= null;           Statement stmt= null;           String sCon =  "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=book.mdb";            try{               dbCon=DriverManager.getConnection(sCon);                if(dbCon!= null){                   System.out.println( "步骤2:连接数据库——成功!");               }                //步骤3:建立JDBC的Statement对象                stmt=dbCon.createStatement();                if(stmt!= null){                   System.out.println( "步骤3:建立JDBC的Statement对象——成功!");               }           }            catch(SQLException e){               System.out.println( "连接错误:"+sCon);               System.out.println(e.getMessage());                if(dbCon!= null){                    try{                       dbCon.close();                   }                    catch(SQLException e2){}               }                return;           }            try{ //执行数据库查询,返回结果                String sSQL= "SELECT * "+ " FROM bookindex";               ResultSet rs=stmt.executeQuery(sSQL);                while(rs.next()){                   System.out.print(rs.getString( "BookID")+ "  ");                   System.out.print(rs.getString( "BookTitle")+ "  ");                   System.out.print(rs.getString( "BookAuthor"));                   System.out.println( "  " +rs.getFloat( "BookPrice"));               }           }            catch(SQLException e){               System.out.println(e.getMessage());           }            finally{                try{                    //关闭步骤3所开启的statement对象                    stmt.close();                   System.out.println( "关闭statement对象");               }                catch(SQLException e){}                try{                    //关闭步骤3所开启的statement对象                    dbCon.close();                   System.out.println( "关闭数据库连接对象");               }                catch(SQLException e){}           }       }   }   </SPAN>  

转载 JAVA SE 连接ACCESS

标签:

查看更多关于转载 JAVA SE 连接ACCESS的详细内容...

  阅读:30次