我写了一个JSP,想得到DB里的数据,但是怎么也得不到,大家帮忙看看了
<% String UsrID =(String)session.getAttribute("userName");//得到登录后的ID
   ConnDB2Imp conndb = new ConnDB2Imp();//数据库连接
   String sql= "select c_role_id from sys_role_usr where c_usr_id ='"+UsrID+"' and rownum=1;";
   try {ResultSet rs = conndb.returnSelectRs(sql);
%>然后下面是要得到SQL的结果语句
 </tr>
<tr><td width="110" height="4"><font color="#0000FF">
工作平台<%=rs.getString("c_role_id")%></font></td></tr>
最后的结果“工作平台”后面老是空值,什么也没有

解决方案 »

  1.   

    看看你的String UsrID =(String)session.getAttribute("userName")是否已经取到值?
    如果取到就把SQL语句在数据库客户端运行看,是否正确。
      

  2.   

    这个值取到了 当前用户为:<%=UsrID%>
    SQL语句也是对的,能运行出结果
      

  3.   

    你看眼rs对像有东西吗,还有,你没运行rs.next();指针可能是空的
      

  4.   

    select c_role_id from sys_role_usr where c_usr_id ='"+UsrID+"' and rownum=1
    这个SQL语句只是得到一条数据
      

  5.   

    要先运行RS.NEXT()才可以的。要不然指针是空的
      

  6.   

    运行了啊
    <%int i=0;
    try{while(rs.next()){   
     i++; %>
    <tr><td width="110" height="4"><font color="#0000FF">工作平台<%=rs.getString("c_usr_id")%></font></td></tr>

      <% }
       if(rs!=null) {
    rs.close();
    }
    conndb.closeRs();
    conndb.closeStmt();
    conndb.closeConn(); }
        catch(Exception e)
    {e.printStackTrace();}
       %>
      

  7.   

    下面是它报的错
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R java.sql.SQLException: ORA-00911: 无效字符 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java(Inlined Compiled Code))
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java(Compiled Code))
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1892)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:830)
    at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2488)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2832)
    at oracle.jdbc.driver.OracleStatement.doScrollStmtExecuteQuery(OracleStatement.java:7173)
    at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:627)
    at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.pmiExecuteQuery(WSJdbcStatement.java:1168)
    at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.executeQuery(WSJdbcStatement.java:626)
    at com.gsi.role.db.ConnDB2Imp.returnSelectRs(ConnDB2Imp.java:85)
    at com.ibm._jsp._index._jspService(_index.java:87)
    at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:88)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java(Compiled Code))
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java(Compiled Code))
    at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:117)
    at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:171)
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java(Compiled Code))
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java(Compiled Code))
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java(Compiled Code))
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java(Compiled Code))
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java(Compiled Code))
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java(Compiled Code))
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java(Compiled Code))
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java(Compiled Code))
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))[07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java(Inlined Compiled Code))
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at oracle.jdbc.ttc7.Oall7.receive(Oall7.java(Compiled Code))
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1892)
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:830)
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2488)
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2832)
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at oracle.jdbc.driver.OracleStatement.doScrollStmtExecuteQuery(OracleStatement.java:7173)
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:627)
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.pmiExecuteQuery(WSJdbcStatement.java:1168)
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.executeQuery(WSJdbcStatement.java:626)
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.gsi.role.db.ConnDB2Imp.returnSelectRs(ConnDB2Imp.java:85)
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm._jsp._index._jspService(_index.java:87)
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:88)
      

  8.   

    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java(Compiled Code))
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java(Compiled Code))
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:117)
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:171)
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java(Compiled Code))
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java(Compiled Code))
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java(Compiled Code))
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java(Compiled Code))
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java(Compiled Code))
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java(Compiled Code))
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java(Compiled Code))
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java(Compiled Code))
    [07-6-28 15:15:55:297 CST] 0000002b SystemErr     R  at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R java.lang.NullPointerException
    at com.ibm._jsp._index._jspService(_index.java:92)
    at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:88)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java(Compiled Code))
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java(Compiled Code))
    at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:117)
    at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:171)
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java(Compiled Code))
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java(Compiled Code))
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java(Compiled Code))
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java(Compiled Code))
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java(Compiled Code))
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java(Compiled Code))
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java(Compiled Code))
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java(Compiled Code))
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))[07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm._jsp._index._jspService(_index.java:92)
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:88)
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java(Compiled Code))
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java(Compiled Code))
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:117)
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:171)
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java(Compiled Code))
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java(Compiled Code))
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java(Compiled Code))
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java(Compiled Code))
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java(Compiled Code))
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java(Compiled Code))
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java(Compiled Code))
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java(Compiled Code))
    [07-6-28 15:15:55:312 CST] 0000002b SystemErr     R  at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
      

  9.   

    帐号是dsoft111()的垃圾,你怎么不去死啊 。到处发广告。版主删这个帐号吗
      

  10.   

    DEBUG ,停下来看看SQL 语句 ,直接放到数据库中执行一下,以确定错误的方向是 程序还是 SQL
      

  11.   

    String sql= "select c_role_id from sys_role_usr where c_usr_id ='"+UsrID+"' and rownum=1;";
    看一下这个SQL语句是不是多了一下;
     String sql= "select c_role_id from sys_role_usr where c_usr_id ='"+UsrID+"' and rownum=1";
      

  12.   

    你在这里String sql= "select c_role_id from sys_role_usr where c_usr_id ='"+UsrID+"' and rownum=1"只查了c_role_id,而在
    <tr><td width="110" height="4"><font color="#0000FF">工作平台<%=rs.getString("c_usr_id")%></font></td></tr>这一句却要查c_usr_id能行吗?
    把第一句中的c_role_id换成*试试