小问题,在线等(100分)

  • 主题发起人 主题发起人 xiaotianwangzi
  • 开始时间 开始时间
X

xiaotianwangzi

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么不能打印出值
<%@page contentType="text/html;charset=gb2312"%>
<%@page language="java" import="java.sql.*" %>
<HTML>
<HEAD><font size=6 align="center">登录界面</font>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;
charset=GB2312">
</head>
<body bgcolor="#ccccff">
<%!
String xm2;
String password;
String xm1;
String nl;
String zhw;
String mm;
String sql;

%>
<%
password=request.getParameter("ps");
xm2=request.getParameter("xingming");
sql="select * from zgjbxx where xm='"+xm2+"'and mm='"+password+"'";

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:hyg");
Statement ss=con.createStatement();
ResultSet rs=ss.executeQuery(sql);

%>
<% while(rs.next())
{

xm1=rs.getString("xm");
nl=rs.getString("nl");
zhw=rs.getString("zhw");
mm=rs.getString("mm");
}
%>
<table>
<tr>
<td>姓名:<%=xm1%></td>
</tr>
<tr><td>
年龄:<%=nl%>
</td></tr>
<tr><td>
职务:<%=zhw%>
</td>
</tr>
</table>
</body>
</html>
 
把下一句去掉看看:
while(rs.next())
 
我试过,没问题呀
 
你的WEB服务器不支持jsp
 
调试!,看一下在哪行出错?
 
先在你的
ResultSet rs=ss.executeQuery(sql);后
out.println(sql);
试试
 
<!--我改的,你试试。-->
<%@page contentType="text/html;charset=gb2312"%>
<%@page language="java" import="java.sql.*" %>
<HTML>
<HEAD><font size=6 align="center">登录界面</font>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;
charset=GB2312">
</head>
<body bgcolor="#ccccff">
<%!
String xm2;
String password;
String xm1;
String nl;
String zhw;
String mm;
String sql;

%>
<%
password=request.getParameter("ps");
xm2=request.getParameter("xingming");
sql="select * from zgjbxx where xm='"+xm2+"'and mm='"+password+"'";

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:hyg");
Statement ss=con.createStatement();
ResultSet rs=ss.executeQuery(sql);
%>
<table>
<% while(rs.next())
{

xm1=rs.getString("xm");
nl=rs.getString("nl");
zhw=rs.getString("zhw");
mm=rs.getString("mm");
%>
<tr>
<td>姓名:<%=xm1%></td>
</tr>
<tr><td>
年龄:<%=nl%>
</td></tr>
<tr><td>
职务:<%=zhw%>
</td>
</tr>
<%
}
%>
</table>
</body>
</html>
 
把sql打印出来,然后到数据库执行,如果查询不到任何纪录,当然没有显示啦。
不会连这种问题都搞不定吧
 
按以下方法试一下
第一:
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:hyg");
Statement ss=con.createStatement();
ResultSet rs=ss.executeQuery(sql);
。。。。
。。。。
。。。。
}
catch(Exception e){out.println(e);}
看一下有没有出错
第二:打印sql的值,看生成的SQL语法是否有问题,若没问题,试着把SQL中的where条件全注释掉,在看是否有结果。如果此时有内容,说明你的条件设置有问题。如果还是没内容,则要检查数据库里的内容了。
祝你好运
 
多人接受答案了。
 
后退
顶部