我正在使用Oracle 11g数据库。当我尝试从db访问数据时,它显示错误java.sql.SQLException:ORA-03115:不支持的网络数据类型或表示形式。我不明白这个错误的意思..
我的代码是:
String uname,pass; ResultSet rs = null; response.setContentType("text/html"); PrintWriter out=response.getWriter(); try { uname=request.getParameter("uname"); pass=request.getParameter("pass"); Connection con=prepareConnection(); String Query="select uname from passmanager where pass=?"; PreparedStatement ps=con.prepareStatement(Query); ps.setString(1,pass); rs=ps.executeQuery(Query); if (rs.next() && uname.equalsIgnoreCase(rs.getString("uname")) || uname.equalsIgnoreCase(rs.getString("email"))) { HttpSession session = request.getSession(true); session.setAttribute("uname", rs.getString(1)); ServletContext context = getServletContext(); RequestDispatcher dispatcher = context .getRequestDispatcher("/profile"); dispatcher.forward(request, response); }
任何人都可以帮助我解决这个问题。
代替:
rs = ps.executeQuery(Query);
您应该执行:
rs = ps.executeQuery();
否则,您将不 准备 您的语句并丢失所有参数,因为您为其分配了新的SQL语句(即使它是相同的)。