请教:关于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。