java实现使用JDBC-ODBC桥操作数据库。

来源:互联网 发布:javascript setdate 编辑:程序博客网 时间:2024/05/19 15:19

全栈工程师开发手册 (作者:栾鹏)

java教程全解

java实现使用JDBC-ODBC桥操作数据库。jdk1.8后不再使用,所以要使用换回1.7或加载1.7的包

测试代码

public static void main(String[] arg){        String url = "jdbc:odbc:student";  //"jdbc:microsoft:sqlserver://192.168.28.129:1433;DatabaseName=student";        String username="";        String password="";        try {            String dir = conn(url,username,password).getCatalog();            System.out.println(dir);  //打印当前数据库的目录名称        } catch (Exception e) {            // TODO: handle exception        }        execute(conn(url,username,password),"insert into userinfo(name,address)values('switch','new York')");        query(conn(url,username,password),"select * from userinfo");      }

使用JDBC-ODBC桥操作数据库 类的实现

package com.lp.app.databate;import java.sql.*;public class odbcConn{  //获得数据连接  public static Connection conn(String url,String username,String password){     try {         //Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");        Connection con = DriverManager.getConnection(url, username, password);        return con;    }catch(SQLException sqle){        System.out.println("can't connection db:"+sqle);        return null;    } catch (Exception e) {        System.out.println("Failed to load JDBC/ODBC driver.");        return null;     }  }  //执行查询SQL语句  public static void query(Connection con, String sql){    try{     if(con==null) return;     Statement stmt = con.createStatement();     ResultSet rs = stmt.executeQuery(sql);      ResultSetMetaData rmeta = rs.getMetaData();     int numColumns = rmeta.getColumnCount();     while(rs.next())     {       for(int i = 0;i< numColumns;i++)       {        String sTemp = rs.getString(i+1);        System.out.print(sTemp+"  ");       }      System.out.println("");        }    }catch(Exception e){      System.out.println("query error:"+e);    }finally{       try{       con.close();      }catch(SQLException se){}    }  }  //执行插入、更新、删除等没有返回结果集的SQL语句   public static void execute(Connection con, String sql){    try{     if(con==null) return;     Statement stmt = con.createStatement();    stmt.executeUpdate(sql);    }catch(Exception e){      System.out.println("query error:"+e);    }finally{      try{       con.close();      }catch(SQLException se){}    }  }} 
原创粉丝点击