java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 无效的游标状态
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataInteger(JdbcOdbc.java:3812)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataInteger(JdbcOdbcResultSet.java:5639)
at sun.jdbc.odbc.JdbcOdbcResultSet.getInt(JdbcOdbcResultSet.java:582)
at sun.jdbc.odbc.JdbcOdbcResultSet.getInt(JdbcOdbcResultSet.java:600)
at com.info.InfoClass1.getTop12Info(InfoClass1.java:47)
at org.apache.jsp.infoList1_jsp._jspService(infoList1_jsp.java:163)程序:
public Collection getTop12Info()
{
int classID=this.getClassID();
Collection infosList=new ArrayList();
try {
ResultSet rst=myConn.executeSql("select top 12 id,title,explain,tel from info where isShow=true and isAudit=true and class1="+classID);
while(rst.next())
{
Info newInfo=new Info();
newInfo.setInfoID(rst.getInt("id"));
newInfo.setTitle(rst.getString("title"));
newInfo.setExplain(rst.getString("explain"));
newInfo.setTel(rst.getString("tel"));
infosList.add(newInfo);
}
rst.close();
} catch (SQLException e) {
e.printStackTrace();
}
return infosList;
}
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataInteger(JdbcOdbc.java:3812)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataInteger(JdbcOdbcResultSet.java:5639)
at sun.jdbc.odbc.JdbcOdbcResultSet.getInt(JdbcOdbcResultSet.java:582)
at sun.jdbc.odbc.JdbcOdbcResultSet.getInt(JdbcOdbcResultSet.java:600)
at com.info.InfoClass1.getTop12Info(InfoClass1.java:47)
at org.apache.jsp.infoList1_jsp._jspService(infoList1_jsp.java:163)程序:
public Collection getTop12Info()
{
int classID=this.getClassID();
Collection infosList=new ArrayList();
try {
ResultSet rst=myConn.executeSql("select top 12 id,title,explain,tel from info where isShow=true and isAudit=true and class1="+classID);
while(rst.next())
{
Info newInfo=new Info();
newInfo.setInfoID(rst.getInt("id"));
newInfo.setTitle(rst.getString("title"));
newInfo.setExplain(rst.getString("explain"));
newInfo.setTel(rst.getString("tel"));
infosList.add(newInfo);
}
rst.close();
} catch (SQLException e) {
e.printStackTrace();
}
return infosList;
}
Connection conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=DBName","sa","");
Statement stmt1=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
我的 connpublic class Conn {
private Connection conn=null;
private Statement stm=null;
private String user="";
private String pwd="";
private String strDriver="sun.jdbc.odbc.JdbcOdbcDriver";
private String url="Jdbc:odbc:info";
//构造
public Conn(){
try {
Class.forName(strDriver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
conn=DriverManager.getConnection(url,user,pwd);
} catch (SQLException e) {
e.printStackTrace();
}
try {
stm=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
*
* @return Connection
* get Connection
*/
public Connection getConn(){
return conn;
} /**
*
* @param sql
* @return ResultSet
*/
public ResultSet executeSql(String sql){
ResultSet rs=null;
try {
rs = stm.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
} /**
* conn close
*/
public void closeConn(){
try {
stm.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}