前段时间由于需要要做一个简单的网页版的点名程序,数据存储在access数据库中,在网上查找了各种方法,也遇到了一些问题,最终算是完成了,再此将java连接access数据库容易遇到了问题和解决方法记录下来。
连接access数据库需要配置ODBC数据源,打开计算机的管理工具中的数据源(ODBC),并添加系统数据源,会发现驱动程序中没有Access的驱动程序
在度娘上找了许久,发现在C:\Windows\SysWOW64下边的odbcad32.exe中可以找到Access的驱动程序,最终得以配置好Access数据源,接下来是通过java连接access数据库,需要添加Access_JDBC30jar包,servlet具体代码如下:
前台通过ajax访问servlet来获取数据库中的数据并进行处理,并每隔1毫秒执行getInfo函数,实现随机点名的效果。
连接access数据库需要配置ODBC数据源,打开计算机的管理工具中的数据源(ODBC),并添加系统数据源,会发现驱动程序中没有Access的驱动程序
在度娘上找了许久,发现在C:\Windows\SysWOW64下边的odbcad32.exe中可以找到Access的驱动程序,最终得以配置好Access数据源,接下来是通过java连接access数据库,需要添加Access_JDBC30jar包,servlet具体代码如下:
Connection connection=null;
Statement statement=null;
ResultSet rSet=null;
List
persons=new ArrayList
();
Person person;
try {
try {
Class.forName("com.hxtt.sql.access.AccessDriver").newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
connection=DriverManager.getConnection("jdbc:Access:///d:/db.mdb","","");
statement=connection.createStatement();
rSet=statement.executeQuery("select * from Person where OfUnitId="+numString+"");
while(rSet.next()){
person=new Person();
person.setPersonId(rSet.getString(2));
person.setPersonName(rSet.getString(3));
person.setOfUnitId(rSet.getString(4));
persons.add(person);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if (rSet!=null)
rSet.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(statement!=null){
statement.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(connection!=null) {
connection.close();
}
} catch (Exception e2) {
// TODO: handle exception
}
}
PrintWriter out=response.getWriter();
System.out.println(persons);
out.println(gson.toJson(persons));
随机抽检系统
href="css/bootstrap.css" rel="stylesheet" type="text/css" />
rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.10.0/css/bootstrap-select.min.css">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/bootstrap.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.10.0/js/bootstrap-select.min.js"></script>
<script type="text/javascript">
$(".selectpicker").selectpicker();
var GSON;
var Ctrl;
function getInfo(){
var Len=GSON.length;
var a=Math.floor((Math.random()*Len));
$("#PerId").html(GSON[a].PersonId);
$("#PerNam").html(GSON[a].PersonName);
}
$("#start").click(function(){
window.clearInterval(Ctrl);
var selectUnit=$("#unitSe").val();
$.ajax({
url:'dbaccess',
type:'GET',
async:false,
data:"num="+selectUnit+"",
dataType:'json',
success:function(data){
GSON=data;
},
error:function(error){
alert(error);
}
});
Ctrl=setInterval(getInfo, 1);
})
$("#end").click(function(){
window.clearInterval(Ctrl);
})
</script>