永发信息网

java从mdb文件中读出数据

答案:2  悬赏:60  手机版
解决时间 2021-03-20 14:21
  • 提问者网友:雨不眠的下
  • 2021-03-19 20:52
java从mdb文件中读出数据
最佳答案
  • 五星知识达人网友:詩光轨車
  • 2021-03-19 21:36
java读Access数据库就像读其它数据库一样,mdb文件中读出数据。
  参考代码如下:
  
 public static List readFileACCESS(String filePath)   {  
  List maplist= new ArrayList();  
  Properties prop = new Properties();    
  prop.put("charSet", "gb2312");                //这里是解决中文乱码  
  prop.put("user", "");  
  prop.put("password", "");  
   String  url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+filePath;   //文件地址  
   PreparedStatement ps=null;  
   Statement stmt=null;  
   ResultSet rs=null;  
     try {  
       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");   
       Connection  conn=DriverManager.getConnection(url,prop);    
       stmt = (Statement)conn.createStatement();  
  
       rs=stmt.executeQuery("select * from Chinese");  
       ResultSetMetaData data=rs.getMetaData();  
  
     while(rs.next()) {  
     Map src= new HashMap();  
      for(int i = 1 ; i<= data.getColumnCount() ; i++){   
       String columnName =data.getColumnName(i);    //列名  
       String  columnValue= rs.getString(i);   
        map.put(columnName, columnValue);  
      }  
        maplist.add(map);     
     }  
  } catch (Exception e) {  
   // TODO Auto-generated catch block  
   e.printStackTrace();  
  }  
   return maplist;   
 }
全部回答
  • 1楼网友:怀裏藏嬌
  • 2021-03-19 23:10
稍微有点复杂,你就凑合看吧,前面基本就是连接数据库的语句,从rs=st.executeQuery(.......)这句是查询。

Connection con = null;
Statement st = null;
ResultSet rs = null;
try {
Class.forName.("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/itemmanager?useUnicode=true&characterEncoding=utf8", "root", "");
st = con.createStatement();

rs = st.executeQuery("select 字段1 字段2 from 表名 where strategy='A'");
while (rs.next()) {
input( rs.getInt("字段1"),rs.getInt("字段2"));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
rs.close();
st.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯