日期:2014-05-18  浏览次数:20727 次

请教:关于jsp中javabean访问access数据库
我在javabean中访问数据库,在javabean中用main函数中,调用类中的函数,可以返回Re
sultSet,含有查找的数据。

但是,在jsp页面中,我使用javabean访问数据库,返回的ResultSet值却为空。

如果我说的不明白,还请你指出,希望得到大家的帮助。

readGG.java编译后的.class       放在WEB-INF中classes目录下
package   getdata;
import   java.sql.*;
public   class   readGG
{
public   Connection   connection;
public   Statement   statement;

public   readGG()
{
try{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
String   url   = "jdbc:odbc:redsun ";
connection   =   DriverManager.getConnection(url);
statement   =   connection.createStatement();
}catch(Exception   ex)
{
System.out.println(ex);
}
}

public   ResultSet   getInfo()
{
ResultSet   rs=null;
try{
String   sql= "select   *   from   公告表 ";
rs=statement.executeQuery(sql);
}catch(Exception   ex)
{
System.out.println(ex);
}
return   rs;
}
public   String   test()
{
  return   ( "Test   success   for   javabean! ");
}
//main   for   test
///*
public   static   void   main(String[]   args)
{
readGG   inst   =   new   readGG();
ResultSet   rs   =   inst.getInfo();
if(rs   ==   null)
{System.out.println( "查询结果为空 ");}
else{
try
{
while(rs.next()){
System.out.println( "rs不为空 ");
int   i=   rs.getInt( "年 ");
System.out.println(i);
String   content   =   rs.getString( "内容 ");
System.out.println(content+ "haha ");
}
}
catch(Exception   e)
{}}
}//*/
}
上述main测试代码,可以访问数据库(数据源已经配置)
jsp中应用这个javabean代码如下:
<jsp:useBean   id= "getGG "   class= "getdata.readGG "   scope= "request "/>
<jsp:setProperty   name= "getGG "   property= "* "/>
<%
ResultSet   basicinfo=null;
basicinfo=getGG.getInfo();
%>

但是,在jsp中返回的basicinfo值却是空。

------解决方案--------------------
public ResultSet getInfo()
{
ResultSet rs=null;
try{
String sql= "select * from 公告表 ";
rs=statement.executeQuery(sql);
}catch(Exception ex)
{
System.out.println(ex);
}
return rs;
}
估计是你的这个方法里面有异常,请检查你的后台输出代码!
你把conn写到构造函数中是有问题的。。
网上代码都的很,自己去看看把!
------解决方案--------------------
唉 把代码帖全来看看
------解决方案--------------------
应该是JSP运行的默认用户帐号和你所建的用户DSN用的用户帐号不一致,所以无法访问该用户DSN。