在javabean中访问oracle的问题:java.sql.SQLException: 无效的列索引?
出错代码:
500 Servlet Exception
java.sql.SQLException: 无效的列索引
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
at oracle.jdbc.driver.OracleStatement.prepare_for_new_get(OracleStatement.java:3199)
at oracle.jdbc.driver.OracleStatement.getIntValue(OracleStatement.java:4264)
at oracle.jdbc.driver.OracleResultSetImpl.getInt(OracleResultSetImpl.java:510)
******************************关键是下面这行**************************
at testChart.createDataBean.getTotalData(createDataBean.java:73)
at _jsp._boat._indexofchartdemo__jsp._jspService(/boat/IndexOfChartDemo.jsp:21)
at com.caucho.jsp.JavaPage.service(JavaPage.java:75)
at com.caucho.jsp.Page.pageservice(Page.java:571)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:155)
at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:211)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:177)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:221)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:263)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:323)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:430)
at com.caucho.util.ThreadPool.run(ThreadPool.java:377)
at java.lang.Thread.run(Thread.java:534)
--------------------------------------------------------------------------------
Resin-3.0.7 (built Wed, 24 Mar 2004 04:28:45 PST)
***********************下面是javabean的源码***********************************************
......
Connection conn=null;
Statement stm=null;
GetDatabaseConnection getConn=new GetDatabaseConnection("mydb");
conn=getConn.getConnection();
//查询现有服务类型
String sqlServiceType="select distinct ServiceType from testTable "+
" where UserState=1 or UserState=0";
//查询地区代码
String sqlAreacode="select distinct areacode from testTable"+
" where UserState=1 or UserState=0";
stm=conn.createStatement();
ResultSet rsServiceType = stm.executeQuery(sqlServiceType);
ResultSet rsAreacode = stm.executeQuery(sqlAreacode);
String[] serviceTypes=new String[serviceNum];
//地区的数目
int areaNum=rsAreacode.getRow();
//地区号码
String[] areaCodes=new String[areaNum];
int n=0;
while(rsServiceType.next()){
serviceTypes[n]=rsServiceType.getString(0);
n++;
}
rsServiceType.close();
int m=0;
while(rsAreacode.next()){
int areaCodesInt=rsAreacode.getInt(0);<----报错的73行!!!*****************
areaCodes[m]=Integer.toString(areaCodesInt);
m++;
}
........