当前位置:编程学习 > JAVA >>

java-web开发中遇到查询的问题

我写的jsp参数查询程序总是不能完成其功能:代码如下:
<%@ page contentType="text/html; charset=gb2312" import="java.sql.*" %>
<html>
<head>
<title>查询数据(参数查询)</title>
<style type="text/css">
<!--
.style1
{
font-size:20px;
color:#000000;
}
.style2
{
font-size:20px;
color:#0033FF;
}
body
{
font-size:20px;
background-color:#FFFFCC;
}
-->
</style>
</head>
<body>
<center>学生信息一览表 
<br><br>查询数据
</center>
<hr>
<form name="form1" method="post" action="Connect4.jsp">
<p>请输入学生姓名:
<input type="text" name="name" size=16 maxlength="25">
<input type="submit" name="submit" value="查询" class="style1">
</form>

<table border=1 width=1000>
<tr class="style2" bgcolor="#CCFF22" align="center">
<td>学号</td>
<td>姓名</td>
<td>性别</td>
<td>出生日期</td>
<td>入学日期</td>
<td>系别</td>
</tr>

<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:mytest";
String username="liuqinghong";
String password="lqh21222517";
Connection con=DriverManager.getConnection(url,username,password);
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

String sql="select * from stu";
ResultSet rs=stmt.executeQuery(sql);

while(rs.next())
{
 %>
  <tr class="style1" align="center" bgcolor="yellow">
  <td><%=rs.getString("stuId") %></td>
  <td><%=rs.getString("stuName") %></td>
  <td><%=rs.getString("stuSex") %></td>
  <td><%=rs.getString("stuAge") %></td>
  <td><%=rs.getString("stuJg") %></td>
  <td><%=rs.getString("stuDept") %></td>
  </tr>
  <%
}
rs.close();
stmt.close();
con.close();
%>
</table>
</body>
</html>
运行后能得出正确结果。
但是运行后在信息框中输入查询姓名确定后在与之相连的第二个jsp页面却显示出错,第二个jsp程序源代码如下:
<%@ page contentType="text/html; charset=gb2312" import="java.sql.*" %>
<html>
<head>
<title>查询数据(参数查询)</title>
<style type="text/css">
<!--
.style1
{
font-size:20px;
color:#000000;
}
.style2
{
font-size:20px;
color:#0033FF;
}
body
{
font-size:20px;
background-color:#FFFFCC;
}
-->
</style>
</head>
<body>
<center>学生信息一览表 
<br><br>查询数据
</center>
<hr>


<table border=1 width=1000>
<tr class="style2" bgcolor="#CCFF22" align="center">
<td>学号</td>
<td>姓名</td>
<td>性别</td>
<td>出生日期</td>
<td>入学日期</td>
<td>系别</td>
</tr>

<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:mytest";
String username="liuqinghong";
String password="lqh21222517";

String stuName=new String(request.getParameter("stuName").trim().getBytes("ISO_8859_1"));
String sql="select * from stu where stuName=?";

Connection con=DriverManager.getConnection(url,username,password);
// Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1, stuName);

ResultSet rs=ps.executeQuery(sql);

while(rs.next())
{
 %>
  <tr class="style1" align="center" bgcolor="yellow">
  <td><%=rs.getString("stuId") %></td>
  <td><%=rs.getString("stuName") %></td>
  <td><%=rs.getString("stuSex") %></td>
  <td><%=rs.getString("stuAge") %></td>
  <td><%=rs.getString("stuJg") %></td>
  <td><%=rs.getString("stuDept") %></td>
  </tr>
  <%
}
rs.close();
ps.close();
con.close();
%>
</table>
</body>
</html>
有哪位高手能帮我解决此问题吗?小弟感激不尽啦! --------------------编程问答-------------------- 报什么错,贴出来。 --------------------编程问答-------------------- 出了什么错误贴出来,一般这种问题先保证参数是否正确传递过来,其次确定sql语句有没有问题,如果两项都正确,在仔细看错误信息,一般jsp出错都会告诉你是哪一会出错了,你在检查是jsp页面哪一行出的错 --------------------编程问答-------------------- 把代码贴给我  我给你详细解答  我也正好刚写好一个那样的项目 --------------------编程问答-------------------- 直接说 是什么错误。。代码那么长 怎么看呢。。 --------------------编程问答-------------------- 把错误贴出来
补充:Java ,  Web 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,