在系统中使用jdbc 连接mysql, 首次成功,之后连接就报错,驱动用的是mysql-connector-java-5.1.15-bin.jar
连接代码
connection conn = null; statement stat = null; resultset rs = null; string url = jdbc:mysql://*********:3306/*******?useunicode=true&characterencoding=gbk; string sql = null; string tablename = ***; list clock = new arraylist(); sql = select * from + tablename + where timevalue between ' + starttime + ' and ' + endtime + ' and doorname=' + doorname.substring(2) + '; system.out.println(sql); class.forname(com.mysql.jdbc.driver); conn = drivermanager.getconnection(url, root, ****); stat = conn.createstatement(); rs = stat.executequery(sql); while (rs.next()) { clockbo bo = new clockbo(); clockpkbo pkbo = new clockpkbo(); pkbo.setcardno1(rs.getstring(1)); pkbo.setcardno2(rs.getstring(2)); pkbo.settimevalue(ft.format(rs.gettimestamp(6))); bo.setpersonno(rs.getstring(3)); bo.setpersonname(rs.getstring(4)); bo.setdepartment(rs.getstring(5)); bo.setctlip(rs.getstring(7)); bo.setdoorno(rs.getstring(8)); bo.setdoorname(rs.getstring(9)); bo.setstateid(rs.getstring(10)); bo.setrptstate(rs.getstring(11)); bo.setstatestr(rs.getstring(12)); bo.setclockpk(pkbo); clock.add(bo); system.out.println(rs.getstring(4)); system.out.println(bo.tostring()); } } catch (exception e) { e.printstacktrace(); }finally{ try{ if(null!=rs){ rs.close(); } if(null!=stat){ stat.close(); } if(null!=conn){ conn.commit(); conn.close(); } }catch(sqlexception e){ e.printstacktrace(); } }
首次连接可以查出数据,再次调用就在连接的时候就抛出异常了,异常信息如下
java.sql.sqlexception: resultset is from update. no data.
at com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:1078)
at com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:989)
at com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:975)
at com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:920)
at com.mysql.jdbc.resultsetimpl.next(resultsetimpl.java:6999)
at com.mysql.jdbc.connectionimpl.loadservervariables(connectionimpl.java:4184)
at com.mysql.jdbc.connectionimpl.initializepropsfromserver(connectionimpl.java:3585)
at com.mysql.jdbc.connectionimpl.connectonetryonly(connectionimpl.java:2534)
at com.mysql.jdbc.connectionimpl.createnewio(connectionimpl.java:2304)
at com.mysql.jdbc.connectionimpl.(connectionimpl.java:834)
at com.mysql.jdbc.jdbc4connection.(jdbc4connection.java:47)
at sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method)
at sun.reflect.nativeconstructoraccessorimpl.newinstance(unknown source)
at sun.reflect.delegatingconstructoraccessorimpl.newinstance(unknown source)
at java.lang.reflect.constructor.newinstance(unknown source)
at com.mysql.jdbc.util.handlenewinstance(util.java:411)
at com.mysql.jdbc.connectionimpl.getinstance(connectionimpl.java:416)
at com.mysql.jdbc.nonregisteringdriver.connect(nonregisteringdriver.java:346)
为什么会出现这种情况呢?
