CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

请问如何再jsp里引用javabean里返回的resultset?

楼主xiaoluo(Aaron)2002-02-04 14:31:54 在 Java / Web 开发 提问

我写了一个javabean名字位db,里面有一个方法(名字为setcon   )是传入一个sql语句参数,返回相应的resultset,我在jsp里这样调用out.print(db.setCon("select   *   from   table1"));发现输出null,如果引用返回的resultset那么有空指针exception,请问如何再jsp里引用javabean里返回的resultset? 问题点数:20、回复次数:9Top

1 楼xexplorer(西风漂流)回复于 2002-02-04 14:40:03 得分 0

肯定是你的bean出问题了,可以直接引用传回的resultset的,你的bean里面应该是无法实现query操作,无法得到resultset所以传回的resultset是null,并且你要想读出数据也不能像前面那样操作,你要这样。  
  Resultset   rs=db.setCon("select   *   from   table1");  
  if   (rs.next())  
  {  
          out.print(rs.getString("ID"));  
  }Top

2 楼xiaoluo(Aaron)回复于 2002-02-04 14:44:02 得分 0

我把源代码贴出来,老兄帮忙看看  
  javabean:  
  package   date;  
  import   oracle.jdbc.*;  
  import   java.sql.*;  
   
  public   class   DataWebBean   {  
    public   ResultSet   rs;  
   
   
      public   ResultSet   setConn(String   sql){  
      try  
  {  
   
   
          Class.forName   ("oracle.jdbc.driver.OracleDriver");  
          Connection   conn   =  
          DriverManager.getConnection   ("jdbc:oracle:thin:@   eric:1521:eric"   ,   "internal",   "oracle");  
          Statement   stmt   =   conn.createStatement();  
  sql="select   *   from   eric.table1";  
          rs   =   stmt.executeQuery(sql);  
          System.out.println("Connection   is   Complete!!");  
   
   
  }  
   
  catch(Exception   e)  
   
  {  
          System.out.println(e.getMessage());  
  }  
   
   
            return   rs;  
   
      }  
   
            }  
   
   
  jsp:  
   
  <%@   page   contentType="text/html;   charset=GBK"   %>  
  <%@   page   import="   java.sql.*"   %>  
  <%@   page   language="java"%>  
   
   
  <html>  
  <head>  
  <title>  
  DataWeb  
  </title>  
  </head>  
   
  <body>  
  <jsp:useBean   id="DataWebBeanI"   scope="page"   class="date.DataWebBean"   />  
   
  <%  
  ResultSet   rs=DataWebBeanI.setConn("s");  
   
   
   
  try{  
   
  while   (rs.next())  
  out.print(rs.getString(1));  
   
  }  
  catch(Exception   e){  
  out.print(e);  
  }  
  %>  
   
   
   
   
   
   
  </body>  
  </html>  
  Top

3 楼xiaoluo(Aaron)回复于 2002-02-04 14:44:44 得分 0

报错,说空指针Top

4 楼xiaoluo(Aaron)回复于 2002-02-04 14:57:20 得分 0

抬Top

5 楼night_knight(黑夜骑士只抽红河)回复于 2002-02-04 15:47:00 得分 0

你这能通过编译吗?Top

6 楼night_knight(黑夜骑士只抽红河)回复于 2002-02-04 15:54:38 得分 0

把错误贴出来Top

7 楼bookbobby(书呆)回复于 2002-02-04 16:24:10 得分 20

 
  用用我的这个bean看  
   
  //:dbHandle.java.  
  //存放位置       /%tomcat_home%/classes/testC/  
  //功能:用于查询指定数据库连接并且返回查询值  
  //要用于实际使用还必须重新定义其中的赋值部分  
   
  package   testC;     //打包  
  import   java.sql.*;  
   
   
  public   class   dbHandle    
  {  
  String   dbUrl="";   //用于设置/读取数据库连接对象  
  String   dbUser="";//用于设置/读取数据库用户名  
  String   dbPwd="";//用于设置/读取数据库使用密码  
  String   dbSqlStr="";//用于设置/读取查询操作结果  
  String[]   dbExecuteResult;  
  boolean   insertResult=true;  
  ResultSet   dbQueryRs=null;  
  //设置数据库连接  
  public   void   setDbUrl(String   value)    
  {  
  dbUrl=value;  
  }  
  //设置数据库用户名  
  public   void   setDbUser(String   value)  
  {  
  dbUser=value;  
  }  
  //设置数据库使用密码  
  public   void   setDbPwd(String   value)  
  {  
  dbPwd=value;  
  }  
  //设置操作语句  
  public   void   setDbSqlStr(String   value)  
  {  
  dbSqlStr=value;  
  }  
   
  public   String   getDbUrl() { return   dbUrl; }  
  public   String   getDbUser() { return   dbUser; }  
  public   String   getDbPwd() { return   dbPwd; }  
  public   String   getDbSqlStr() { return   dbSqlStr; }  
   
  //用于向 数据库中添加纪录  
  public   boolean   addNewRecord(String   dbSqlStr)  
  {  
  try{  
  //数据库操作  
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");   //装载数据库驱动  
  Connection   conn=DriverManager.getConnection(dbUrl,dbUser,dbPwd);     //连接数据库  
  Statement   state=conn.createStatement();   //获取Statement对象,Statement对象用于想数据库发送sql语句  
  state.executeUpdate(dbSqlStr);   //更新数据库  
  state.close();  
  }  
  catch(Exception   e){insertResult=false;}  
  return   insertResult;     //返回boolean值  
   
  }  
   
   
  //用于获取查询结果,并返回rs  
  public   ResultSet   getQueryResults(String   dbSqlStr)  
  {  
   
  try{  
  //数据库操作  
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");   //装载数据库驱动  
  Connection   conn=DriverManager.getConnection(dbUrl,dbUser,dbPwd);     //连接数据库  
  Statement   state=conn.createStatement();   //获取Statement对象,Statement对象用于想数据库发送sql语句  
  dbQueryRs=state.executeQuery(dbSqlStr);   //执行查询  
  //System.out.println(dbQueryRs);  
  //state.close();  
  }  
  catch(Exception   e){;}  
  return   dbQueryRs;     //返回rs  
   
  }  
   
  }  
  //以下是测试类  
  class     test  
  {  
  public   static   void   main(String[]   args)    
  {  
  dbHandle   temp=new   dbHandle();  
  temp.setDbUrl("jdbc:odbc:mysql");  
  System.out.println(temp.getDbUrl());  
   
  temp.setDbUser("root");  
  System.out.println(temp.getDbUser());  
   
  temp.setDbPwd("root");  
  System.out.println(temp.getDbPwd());  
   
  temp.setDbSqlStr("select   *   from   userpriv");  
  System.out.println(temp.getDbSqlStr());  
   
   
  try{  
  ResultSet   rs=temp.getQueryResults("select   max(xxbm)   as   maxxxbm   from   xxb");  
  rs.next();  
  System.out.println(rs.getString("maxxxbm"));  
  }  
  catch(Exception   e){System.out.println(e);}  
   
  }  
  }  
   
   
  Top

8 楼bookbobby(书呆)回复于 2002-02-04 16:25:30 得分 0

 
  下面是我做的一个测试页面,里面有用刀这个bean  
   
  <%@   page   language="java"   %>  
  <%@   page   import="java.sql.*"   %>  
  <%@   page   contentType="text/html;charset=gb2312"   %>  
  <%--   注释块   --%>  
  <%--   文件名:test.jsp   --%>  
  <%--   存放目录:/test/test.jsp   --%>  
  <%--   功能:显示测试数据库中的所有username   --%>  
  <%--   注释块==完   --%>  
   
  <%--   定义bean的调用   --%>  
  <jsp:useBean   id="user"   class="testC.dbHandle"   scope="session"/>  
  <%--   以下用于设置bead中的各项属性   --%>  
  <jsp:setProperty   name="user"   property="dbUrl"   value="jdbc:odbc:mysql"/>    
  <jsp:setProperty   name="user"   property="dbUser"   value="root"/>    
  <jsp:setProperty   name="user"   property="dbPwd"   value="root"/>    
   
   
  <HTML>  
  <BODY>  
  <table   border="1"   bordercolorlight="#ffffff"   bgcolor="#eeeeee"   cellspacing="0">  
  <%   ResultSet   getDbResults=user.getQueryResults("select   count(*)   from   xxb");//接受bean中传递过来的值%>  
  <%while   (getDbResults.next())   {%>  
  <tr>  
  <td   bgcolor="#cecece">记录总数:</td><td><%   out.print(getDbResults.getString(1));   %></td>  
  <td>&nbsp;</td>  
   
  </tr>  
  <%}%>  
  <%   getDbResults=user.getQueryResults("select   *   from   xxb   order   by   xxbm");//接受bean中传递过来的值%>  
  <%while   (getDbResults.next())   {%>  
  <tr>  
  <%   String   tempXxbm=getDbResults.getString("xxbm");   %>  
   
   
  <td><a   href='viewnr.jsp?xxbm=<%=   tempXxbm%>'><%   out.print(getDbResults.getString("xxbt"));   %></a></td>  
  <td>  
  <%   switch(getDbResults.getInt("lbbm"))  
  {  
  case   1003:   out.print("<a   href='test.jsp?lbbm=1003'>大事记</a>");break;  
  case   1004:   out.print("<a   href='test.jsp?lbbm=1004'>人物志</a>");break;  
  case   1005:   out.print("<a   href='test.jsp?lbbm=1005'>地名录</a>");break;  
  case   1006:   out.print("<a   href='test.jsp?lbbm=1006'>综合类</a>");break;  
  case   1007:   out.print("<a   href='test.jsp?lbbm=1007'>政治类</a>");break;  
  case   1008:   out.print("<a   href='test.jsp?lbbm=1008'>工业类</a>");break;  
  case   1009:   out.print("<a   href='test.jsp?lbbm=1009'>农业类</a>");break;  
  case   1010:   out.print("<a   href='test.jsp?lbbm=1010'>经济类</a>");break;  
  case   1011:   out.print("<a   href='test.jsp?lbbm=1011'>科教文卫</a>");break;  
  }  
  %>  
  </td>  
  <td>发布时间:<%   out.print(getDbResults.getString("fbsj"));   %></td>  
  </tr>  
  <%}%>  
   
  </table>  
  </BODY>  
  </HTML>  
  Top

9 楼xiaoluo(Aaron)回复于 2002-02-04 16:51:00 得分 0

我去试试Top

相关问题

  • ◇◆◇JSP中引用 JavaBean 组件◇◆◇
  • JSP引用JAVABEAN的问题
  • JSP引用JAVABEAN的简单问题,高分送
  • Servlet里如何获取JSP里的全局JavaBean的引用?
  • 初学问题:在JSP中怎么引用javabean ?
  • JSP的.class引用问题
  • jsp:include引用有问题?
  • ResultSet类型 (JSP)
  • JSP 的Resultset
  • jsp and javabean?

关键词

得分解答快速导航

  • 帖主:xiaoluo
  • bookbobby

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo