String sql1="select distinct article_clff from tb_blog_article";
<select name="article_clff">
<%while(Rs1.next()){ %>
<option value="<%=Rs1.getString("article_clff")%>"><%=Rs1.getString("article_clff") %></option>
<%}Rs1.close(); %>
</select>报红色的那行有错误
org.apache.jasper.JasperException: An exception occurred processing <%while(Rs1.next()){%>
<%=Rs1.getString("article_clff")%>
<%}Rs1.close();%>
直接显示可以显示的请问应该怎么改?
<select name="article_clff">
<%while(Rs1.next()){ %>
<option value="<%=Rs1.getString("article_clff")%>"><%=Rs1.getString("article_clff") %></option>
<%}Rs1.close(); %>
</select>报红色的那行有错误
org.apache.jasper.JasperException: An exception occurred processing <%while(Rs1.next()){%>
<%=Rs1.getString("article_clff")%>
<%}Rs1.close();%>
直接显示可以显示的请问应该怎么改?
这样就OK,为什么Rs1,r要大写!不符合Java命名规范......
什么控制台?
tomcat那个黑乎乎里面的?没有错误。
我的是纯jsp的
<option value="<%=Rs1.getString("article_clff")%>"><%=Rs1.getString("article_clff") %></option> // 引号用“\”来转义<option value="<%=Rs1.getString(\"article_clff\")%>"><%=Rs1.getString("article_clff") %></option>
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.liudan.admin.za_005fhdk_jsp._jspService(za_005fhdk_jsp.java:209)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
String sql1="select distinct article_clff from tb_blog_article";
如果想在option中显示内容你可以jstl来实现的吗
导入jstl
<c:forech items="${requestScope.自己的保存时的集合}" var="option">
<option value="${option.你的字段}"></option>
</sc:forech>
这样就可以了
sql写错了吧!distinct和这个article_clff是两个字段中间怎么没有逗号分开呢?
为什么会加逗号?distinct不是字段 是一个关键字我加了之后会报错
javax.servlet.ServletException: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] SELECT 子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确。
但是
<%while(Rs1.next()){%>
<%=Rs1.getString("article_clff")%>
<%}Rs1.close();%>
可以显示的
这样勒?
javax.servlet.ServletException: java.sql.SQLException: No data found还是这个错误
String sql = "SELECT id,userName FROM userinfo ";
<%
int i = 1;
%><select name="" id="">
<%
while (rs.next()) {
%>
<option value="<%=rs.getString(1) %>"><%=rs.getString(2) %></option>
<% } %>
</select>
除此之外,还有可滚动的ResultSet类型,可更新的ResultSet和可保持的ResultSet 。
像你这样的情况,就需要选择可滚动的ResultSet
Statement st = conn.createStatement(int resultSetType, int resultSetConcurrency)
ResultSet rs = st.executeQuery(sqlStr)
其中两个参数的意义是:
resultSetType是设置ResultSet对象的类型可滚动,或者是不可滚动。取值如下:
ResultSet.TYPE_FORWARD_ONLY只能向前滚动
ResultSet.TYPE_SCROLL_INSENSITIVE和Result.TYPE_SCROLL_SENSITIVE这两个方法都能够实现任意的前后滚动,使用各种移动的ResultSet指针的方法。二者的区别在于前者对于修改不敏感,而后者对于修改敏感。
resultSetConcurency是设置ResultSet对象能够修改的,取值如下:
ResultSet.CONCUR_READ_ONLY 设置为只读类型的参数。
ResultSet.CONCUR_UPDATABLE 设置为可修改类型的参数。
所以如果只是想要可以滚动的类型的Result只要把Statement如下赋值就行了。 Statement st = conn.createStatement(Result.TYPE_SCROLL_INSENITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet rs = st.excuteQuery(sqlStr); 用这个Statement执行的查询语句得到的就是可滚动的ResultSet。
谢谢了 后来用
Statement stmt1=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
就可以了