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
}
public class ConnectionTool {private static String dburl = null
static {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
dburl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)}DBQ=data/MyDataBase.mdb"
} catch (ClassNotFoundException e) {
e.printStackTrace()
}
}
public static Connection getConn() {
try {
return DriverManager.getConnection(dburl)
} catch (SQLException e) {
e.printStackTrace()
}
return null
}
}
一个连数据库,一个用IO读文件,差别很大。
Sub Page_Load() '设置Page_LoadDim conn As New OleDbConnection()
Dim DS As New DataSet()
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0Data Source=C:\Users\Wiches\Documents\Visual Studio 2008\WebSites\WebSite3\DepartmentsIntroduction.accdbUser Id=adminPassword="
Dim objAdpt As New OleDbDataAdapter("Select * from Sheet1", conn)
objAdpt.Fill(DS, "XXFYB")
XXFY.DataSource = DS
XXFY.DataBind()
conn.Close()
End Sub