public class DoControl {
public static void main(String[] args)throws SQLException, ClassNotFoundException, UnsupportedEncodingException {
String sql = "select * from Export_Output where id between "+(100*(pageIndex-1)+1)+" and "+100*(pageIndex) +" order by id desc";
PreparedStatement pstm = DataBaseUtil.getConn().prepareStatement(sql);
ResultSet rs = pstm.executeQuery();
while (rs.next()) {
String name = rs.getString(“name”);
}
rs.close();
}
}
今天要做大数据处理,拿access做练习,顺便学习一下Java连接access数据库问题。
Java 连接access数据库,以及解决中文乱码问题,还有查询分页问题。
解决中文乱码的时候:尝试用String name = rs.getString(“name”);
name = new String(name.getBytes(“utf-8”),”GBK”或者
name = new String(name.getBytes(“iso-8859-1”),”GBK”)等等解决不了问题。
最后用Properties prop =new Properties();prop.put("charSet", "gbk");
问题解决。
public class DataBaseUtil {
privatestatic Connectionconn =null;
publicstaticConnection getConn()throws ClassNotFoundException, SQLException
{
if (conn==null)
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=E:\\2.accdb";
Properties prop = new Properties();
prop.put("charSet","gbk"); //解决中文乱码
conn = DriverManager.getConnection(url,prop);
// conn = DriverManager.getConnection(url);
}
returnconn;
}
}
//100:显示条数
//pageIndex:当前页数