我从数据库中检索建筑物名称,我必须将div id指定为建筑物名称。
这是有问题的代码块
while(rs.next())
{
%>
<div id="<%=rs.getString(1)%>">
<%
out.println(rs.getString(1));
%>
</div>
<%
}
上面我使用rs.getString(1)指定了div id。 但它显示错误
<%
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/crm","root","");
Statement st = con.createStatement() ;
ResultSet rs =st.executeQuery("select name from building where 1") ;
rs.last();
int count=rs.getRow();
if(count>0)
{
rs.beforeFirst();
while(rs.next())
{
%>
<div id="<%=rs.getString(1)%>">
<%
out.println(rs.getString(1));
%>
</div>
<%
}
}
else
{
out.print("No Buildings Added Yet");
}
}
catch(Exception e)
{
out.print(e);
}
%>
提前致谢
答案 0 :(得分:0)
你的问题很模糊,但我想我知道发生了什么。
您已创建“仅向前”声明。
https://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html#createStatement--
您必须为您要执行的操作创建一个TYPE_SCROLL_INSENSITIVE和CONCUR_READ_ONLY(理想情况下)的语句。
答案 1 :(得分:0)
您可以尝试使用JSTL代码(<c:set>
或<c:out>
)。
<c:set var = "id" scope = "session" value = "<%=rs.getString(1)%>"/>
或
<c:out value = "<%=rs.getString(1)%>"/>
将其放入您的代码而不是&#34;&lt;%= rs.getString(1)%&gt;&#34;并试一试。