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语句。
谢谢啦~~~~~~~急啊,急死啦 展开
现在我想用java通过sql语句来读取strategy为A的行的另外两个参数(均为double 类型),并放入某函数中当输入值(如 intput(参数1,参数2);),并循环。
求完整的语句,包括使用哪个java中的语句来执行spl的select语句。
谢谢啦~~~~~~~急啊,急死啦 展开
2个回答
展开全部
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;
}
展开全部
稍微有点复杂,你就凑合看吧,前面基本就是连接数据库的语句,从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();
}
}
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();
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询