<%int num=0;
Vector CustomerID=new Vector();
while(rs.next()){%>
<tr bgcolor="#ffffff" height=20>
<td align=center><%=rs.getString("CustomerID")%></td>
<td align=center><%=rs.getString("CompanyName")%></td>
<td align=center><%=rs.getString("ContactName")%></td>
<td align=center><%=rs.getString("ContactTitle")%></td>
<td align=center><%=rs.getString("Address")%></td>
<td align=center><%=rs.getString("City")%></td>
<td align=center><%=rs.getString("Region")%></td>
<td align=center><%=rs.getString("PostalCode")%></td>
<td align=center><%=rs.getString("Country")%></td>
<td align=center><%=rs.getString("Phone")%></td>
<td align=center><%=rs.getString("Fax")%></td>
<%
String obj=rs.getString("CustomerID");
CustomerID.add(num,obj);
%>
<td align=center><a href="jsp2.jsp?CustomerID="><%=CustomerID.elementAt(num)%>修改</a></td>
<td align=center><a href="jsp4.jsp">删除</a></td>
</tr>
<%
num++;
}
rs.close();%>
这段代码是用jdbcodbc桥来连接数据库的,目的是想点击“修改”时能将vector中的值返还都指定的jsp页面中,但是运行时报出了错是:
javax.servlet.ServletException: [Microsoft][ODBC SQL Server Driver]无效的描述符索引
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:471)
at org.apache.jsp.jsp1$jsp._jspService(jsp1$jsp.java:218)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
at java.lang.Thread.run(Thread.java:536)
………………
其他的自己肯定没有错,如果是点击"修改“直接连接而不返回值时,一点错都没有!!
求高手解决!
本人jsp初学者,急!!
Vector CustomerID=new Vector();
while(rs.next()){%>
<tr bgcolor="#ffffff" height=20>
<td align=center><%=rs.getString("CustomerID")%></td>
<td align=center><%=rs.getString("CompanyName")%></td>
<td align=center><%=rs.getString("ContactName")%></td>
<td align=center><%=rs.getString("ContactTitle")%></td>
<td align=center><%=rs.getString("Address")%></td>
<td align=center><%=rs.getString("City")%></td>
<td align=center><%=rs.getString("Region")%></td>
<td align=center><%=rs.getString("PostalCode")%></td>
<td align=center><%=rs.getString("Country")%></td>
<td align=center><%=rs.getString("Phone")%></td>
<td align=center><%=rs.getString("Fax")%></td>
<%
String obj=rs.getString("CustomerID");
CustomerID.add(num,obj);
%>
<td align=center><a href="jsp2.jsp?CustomerID="><%=CustomerID.elementAt(num)%>修改</a></td>
<td align=center><a href="jsp4.jsp">删除</a></td>
</tr>
<%
num++;
}
rs.close();%>
这段代码是用jdbcodbc桥来连接数据库的,目的是想点击“修改”时能将vector中的值返还都指定的jsp页面中,但是运行时报出了错是:
javax.servlet.ServletException: [Microsoft][ODBC SQL Server Driver]无效的描述符索引
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:471)
at org.apache.jsp.jsp1$jsp._jspService(jsp1$jsp.java:218)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
at java.lang.Thread.run(Thread.java:536)
………………
其他的自己肯定没有错,如果是点击"修改“直接连接而不返回值时,一点错都没有!!
求高手解决!
本人jsp初学者,急!!
=》
<td align=center> <a href="jsp2.jsp?CustomerID="<%=CustomerID.elementAt(num)%>">修改 </a> </td>
<td align=center> <a href="jsp2.jsp?CustomerID="+<%=CustomerID.elementAt(num)%>>修改</a> </td>
还有就是测试一下那个 rs.getString("CustomerID");看到底有没有值?打印一下看看
Vector CustomerID=new Vector();
while(rs.next()){
String obj=rs.getString("CustomerID"); //移动这里来
%>
<tr bgcolor="#ffffff" height=20>
<td align=center> <%=obj%> </td> //直接使用obj
<td align=center> <%=rs.getString("CompanyName")%> </td>
<td align=center> <%=rs.getString("ContactName")%> </td>
<td align=center> <%=rs.getString("ContactTitle")%> </td>
<td align=center> <%=rs.getString("Address")%> </td>
<td align=center> <%=rs.getString("City")%> </td>
<td align=center> <%=rs.getString("Region")%> </td>
<td align=center> <%=rs.getString("PostalCode")%> </td>
<td align=center> <%=rs.getString("Country")%> </td>
<td align=center> <%=rs.getString("Phone")%> </td>
<td align=center> <%=rs.getString("Fax")%> </td>
<% CustomerID.add(num,obj);
%>
<td align=center> <a href="jsp2.jsp?CustomerID="> <%=CustomerID.elementAt(num)%>修改 </a> </td>
<td align=center> <a href="jsp4.jsp">删除 </a> </td>
</tr>
<%
num++;
}
rs.close();%>