JSP如何传递数据库参数

举个例子,在数据库中查找到了课程信息,想选择课程,格式如下:课程号课程名操作124566JSP选择120455ASP选择选择是一个超链接,点击就可以选定在同一行上课程,但... 举个例子,在数据库中查找到了课程信息,想选择课程,格式如下:
课程号 课程名 操作
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:[Microsoft][ODBC SQL Server Driver]无效的描述符索引
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3907)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5698)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:354)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:411)
at org.apache.jsp.学生选择课题_jsp._jspService(学生选择课题_jsp.java from :90)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
展开
 我来答
maodrc
推荐于2016-11-04 · TA获得超过3289个赞
知道小有建树答主
回答量:1090
采纳率:79%
帮助的人:1179万
展开全部
往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+"'"
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ashiver
2009-05-10 · 超过26用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:0
展开全部
首先,纠正你一个错误:JSP的文件名不要用汉字,要用英数字组合.

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

id name

001 haha

如果你想通过haha这个超链接来传值给xxx.jsp页面的话,可以这么做:
<a href="xxx.jsp?id=<%=id%>haha</a>"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fanjiamor
2009-05-13
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
不能直接就放上去 先定义一下 String id=rs.grtString("COUSE_NO");
然后再:<td><a href="学生选择.jsp?id=<%= id%>">
当然变量是可以随便定义的,所以并不一定是用id
这样就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友67b3790
2009-05-10
知道答主
回答量:15
采纳率:0%
帮助的人:0
展开全部
如果数据库驱动没问题的话,一般来说可能是你数据库里面字段问题,但是tomcat中文件没有及时更新的话也可能导致这种现象。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式