JSP如何传递数据库参数

来源:百度知道 编辑:UC知道 时间:2024/07/06 23:23:11
举个例子,在数据库中查找到了课程信息,想选择课程,格式如下:
课程号 课程名 操作
124566 JSP 选择
120455 ASP 选择
选择是一个超链接,点击就可以选定在同一行上课程,但是如何把课程号传递到下一个页面以向数据库中写入课程信息?传递方式<a href="学生选择.jsp">选择</a>在下一个页面中有如何再获得id。
源代码是 <%........rs = stmt.executeQuery("select * from Course where TEACHER_NAME='"+teacher_name+"'");
while(rs.next()){
%>
<tr>
<td><%=rs.getString("COURSE_NO")%></td>
<td><%=rs.getString("COURSE_NAME")%></td>
<td><%=rs.getString("TEACHER_NAME")%></td>
<td><%=rs.getString("INFOR")%></td>
<td><a href="学生选择.jsp">选择</a></td>
<br></tr><%
}.......%>
如果这样传递:<td><a href="学生选择.jsp?id=<%=rs.getString("COURSE_NO")%>">选择</a></td>网页就会出错 出现操作无法进行
系统出现的Exception:[

往jsp中传参数就是那么写的没错: <a href="学生选择.jsp?id=<%=xxx%>">选择</a>

但是现在报的错误不是这句话的错误,
sql中如果写select * from ..这样的话,那么 下面用rs.getString("xxx")取值的时候一定要按照数据库的字段顺序来取,不然就会抛这个错误..

建议你的sql改成取固定字段,你用到什么就取什么,不要select *

改成 select COURSE_NO,COURSE_NAME,TEACHER_NAME,INFOR from Course where TEACHER_NAME='"+teacher_name+"'"

首先,纠正你一个错误:JSP的文件名不要用汉字,要用英数字组合.

对于你提到的超链接传值问题,可以这么实现:
假如你当前的页面显示是这样的:

id name

001 haha

如果你想通过haha这个超链接来传值给xxx.jsp页面的话,可以这么做:
<a href="xxx.jsp?id=<%=id%>haha</a>"

不能直接就放上去 先定义一下 String id=rs.grtString("COUSE_NO");
然后再:<td><a href="学生选择.jsp?id=<%= id%>">
当然变量是可以随便定义的,所以并不一定是用id
这样就可以了

如果数据库驱动没问题的话,一般来说可能是你数据库里面字段问题,但是tomcat中文件没有及时更新的话也可能导致这种现象。