web已连接oracle数据库但是无法进入验证

    1. ****import javax.servlet.*;
      import java.io.*;
      import javax.servlet.http.*;
      import java.sql.*;
      public class Yz extends HttpServlet
      {
      public void doPost(HttpServletRequest req,HttpServletResponse res)throws IOException,ServletException
      {
      req.setCharacterEncoding("utf-8");

      PrintWriter out=res.getWriter();
      Connection ct=null;
      PreparedStatement ps=null;
      ResultSet rs=null;
      String id=req.getParameter("id");
      String mm=req.getParameter("mm");
      
      try
      {
          Class.forName("oracle.jdbc.driver.OracleDriver");
          ct=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:oraclell","scott","qw123");
          ps=ct.prepareStatement("select * from users where id=? and pwod=? ");
          _//如果把上面改成ct.prepareStatement(”select * from users”) 的话就能用rs.getString(“id”)输出//_
          out.println("ss");
          ps.setString(1,id);
          ps.setString(2,mm);
          rs=ps.executeQuery();
          if(rs.next())
          {
              req.getRequestDispatcher("/Hy").forward(req, res);
      
          }else
          {
              req.getRequestDispatcher("/Tz").forward(req, res);
          }
          while(rs.next())
          {
              out.println(rs.getString("id"));
      
          }
      
      }catch(Exception e)
      {
      
      }finally
      {
      
      }
      
    1. }

}这是代码
如果ct.prepareStatement(”select * from users”) 的话就能用out.println(rs.getString(“id”))输出
貌似 ps=ct.prepareStatement("select * from users where id=? and pwod=? ");这句话有问题? 请高手解答 我是自学的 没有老师可以问 谢谢了

出什么错?能否把错误贴出来

ps.setString(1,id);
ps.setString(2,mm);
这两个语句set进值了么

oraclell 你的oracle 实例数据库名改了吗?你用plsql连接一下,看看你的数据实例是什么名称,要是有错误,就不错误弄出来

查询的结果只有一条记录或没有记录了

catch(Exception e)
{

}
这里面输出堆栈信息,就知道什么原因了。

谢谢大家 已经解决了 是传进去的参数类型问题 必须要跟数据库里面的类型一样才行