java从mdb文件中读出数据

我有一个连接好的mdb数据库文件,文件中有一个表叫ha,有3个参数,其中一个是strategy(String类型)。现在我想用java通过sql语句来读取strategy... 我有一个连接好的mdb数据库文件,文件中有一个表叫ha,有3个参数,其中一个是strategy(String 类型)。
现在我想用java通过sql语句来读取strategy为A的行的另外两个参数(均为double 类型),并放入某函数中当输入值(如 intput(参数1,参数2);),并循环。
求完整的语句,包括使用哪个java中的语句来执行spl的select语句。
谢谢啦~~~~~~~急啊,急死啦
展开
 我来答
一骑当后
推荐于2018-03-20 · 知道合伙人数码行家
一骑当后
知道合伙人数码行家
采纳数:40296 获赞数:306452
网络、设备维护、电路、弱电检测。

向TA提问 私信TA
展开全部

  java读Access数据库就像读其它数据库一样,mdb文件中读出数据。

  参考代码如下:

/** 
  * TODO : 读取文件access 
  * @param filePath 
  * @return 
  * @throws ClassNotFoundException  
  */  
 public static List<Map> readFileACCESS(String filePath)   {  
  List<Map> 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 map= 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;   
 }
声带大企心1157
推荐于2016-08-08 · TA获得超过420个赞
知道答主
回答量:44
采纳率:0%
帮助的人:0
展开全部
稍微有点复杂,你就凑合看吧,前面基本就是连接数据库的语句,从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();
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式