zoukankan      html  css  js  c++  java
  • java连接access数据库

    完整代码:

    package odbcj;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.util.Properties;
    
    public class ads {
        public static Connection getJDBCConnection(){  
             try{  
             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载Access驱动    
             Properties prop = new Properties();     
                   prop.put("charSet", "gb2312");  //设置编码防止中文出现乱码  
            Connection con = DriverManager.getConnection("jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=E:/text.accdb");    
                     //System.out.println(con);//打印连接  
            return con;  
              
             }catch(Exception e){  
                 e.printStackTrace();  
             }  
             return null;  
            }  
        public static void showAllJDBC()throws Exception{  
           Connection con=getJDBCConnection();  
             PreparedStatement ps=con.prepareStatement("select *from 表1");// 07  
              ResultSet rs=ps.executeQuery();  
              while(rs.next()){  
                  System.out.println(rs.getString(1)+"   "+rs.getString(2));  
                  //s=Integer.toString((int)value);
                  
                  //jta.setText(rs.getString(1));
              }  
              rs.close();  
              ps.close();  
              con.close();  
      }  
        public static void main(String []argv) throws Exception{
            showAllJDBC();
        }
    }
    View Code

    1:不使建立ODBC数据源的方法;

    注意:

    String url = "jdbc:odbc:DRIVER=Microsoft Access Driver(*.mdb, *.accdb);DBQ=E:/text.accdb";//无分号,会出错
    //String url="jdbc:odbc:driver=Microsoft Access Driver (*.mdb, *.accdb);DBQ=E:/text.accdb";

    try{
                //String url = "jdbc:odbc:DRIVER=Microsoft Access Driver(*.mdb, *.accdb);DBQ=E:/text.accdb";
                String url="jdbc:odbc:driver=Microsoft Access Driver (*.mdb, *.accdb);DBQ=E:/text.accdb";
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                Connection conn = DriverManager.getConnection(url);
                Statement sta = (Statement) conn.createStatement();
                ResultSet resu = ((java.sql.Statement) sta).executeQuery("select * from 表1");
                while(resu.next()){
                    System.out.println(resu.getString("noise"));
                }
                resu.close();
                sta.close();
                conn.close();
                }catch(Exception e){
                    e.printStackTrace();
                }
    View Code

    2:使用ODBC建立数据源的方法;

    开始

    >>控制面板

    >>管理工具

    >>数据源(ODBC)

    >>用户DSN或系统DSN

    系统:
    系统数据源对当前机器上的所有用户可见.
    用户:
    只对当前用户可见,且只能用于当前机器上.
    文件:
    可以由安装了相同驱动程序的用户共享.
    权限不同~~

    >>点添加

    >>找到"Microsoft Access Driver (*.mdb)",选中,再点完成>>自定义数据源名称,可创建一个新的或选择已经有的Access数据库(.mdb)其它可以不选

    >>确定>>确定

    到此数据源已经建立成功

    接下来JAVA代码连接:

    try{
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                //jdbc:odbc:数据源名称", "数据库用户名(如有)没有则空", "用户密码(如有)没有则空
                Connection conn = DriverManager.getConnection("jdbc:odbc:xxx");
                java.sql.Statement sta = conn.createStatement();
                ResultSet resu=(sta).executeQuery("select * from 表1");
                while(resu.next()){
                    System.out.println(resu.getString("noise"));
                }
                resu.close();
                sta.close();
                conn.close();
            }catch(Exception e){
                e.printStackTrace();
            }    
    View Code

     两种输出

      resu.getString(3)

      resu.getString("noise"); 

     以上连接数据库的方式均支持数据库的更新,删除,插入等操作

    我用的是第一种方法操作acess数据库,遇到的详细问题在后续blog中指出。

     获得access主键

    ResultSet rs=conn.getMetaData().getIndexInfo(null,null,"表1",true,false);
    			  while(rs.next()){
    			   String index=rs.getString("INDEX_NAME");
    			   if(index!=null&&index.equalsIgnoreCase("Primarykey"))
    			   System.out.println(rs.getString("COLUMN_NAME"));
    			  }
    			rs.close();
    

      

  • 相关阅读:
    Hibernate入门
    oracle数据库应用(2)
    oracle数据库应用
    Oracle数据库基础
    InitBinder 在Controller方法执行之前进行捕获请求,进行类型的转换
    Spring面试题
    Object处理方法的返回值
    使用jQuery快速高效制作网页交互特效
    struts2
    表分区
  • 原文地址:https://www.cnblogs.com/XDJjy/p/3588298.html
Copyright © 2011-2022 走看看