运行过程中没有出现错误提示
只是输出的结果不对,相关程序如下:jvavbean为:
package student;
import java.sql.*;
public class conn {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:student";
Connection connect = null;
ResultSet rs = null;
public conn() {
try {
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println( e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
try {
connect = DriverManager.getConnection(sConnStr);
Statement stmt = connect.createStatement();
rs = stmt.executeQuery(sql);
return rs;
}
catch(SQLException ex) {
System.err.println(ex.getMessage());
return null;
}
}
}
conn_db.jsp源代码修改如下:<%@ page contentType="text/html;charset=GBK" %>
<%@ page language="java" import="java.sql.*"%>
<jsp:useBean id="connDbBean" scope="page" class="student.conn"/>
<html>
<head>
<title>test db connection</title>
</head>
<body bgcolor="#FFFFFF">
<div align="center">
<table width="60%" border="1">
<tr bgcolor="#CCCCFF">
<td width="50%">
<div align="center"><font color="#FF0033"><b>姓名</b></font></div>
</td>
<td width="25%">
<div align="center"><font color="#FF0033"><b>性别</b></font></div>
</td>
<td width="25%">
<div align="center"><font color="#FF0033"><b>分数</b></font></div>
</td>
</tr>
<%
ResultSet RS_result = connDbBean.executeQuery("select * from Table1");
String studentName="";
String studentSex="";
int studentScore=0;
if(RS_result!=null){
while(RS_result.next())
{
studentName=RS_result.getString("name");
studentSex=RS_result.getString("sex");
studentScore=RS_result.getInt("score");
%>
<tr>
<td width="50%" bgcolor="#FFFFFF">
<div align="center"><%=studentName%></div>
</td>
<td width="25%">
<div align="center"><%=studentSex%></div>
</td>
<td width="25%">
<div align="center"><%=studentScore%></div>
</td>
</tr>
<%
}
RS_result.close();
}
else
out.println("返回值为空");
%>
</table>
</body>
</html>
经过http://localhost:8080/myjsp/JSP-08/conn_db.jsp进行访问,
浏览器没有提示错误,有页内容输出,只是并没有输出数据库中的任何值,
难道是数据库连接不上吗?可是我数据源设置也设了,javabean中的数据库连接
也应该没有错吧?数据库里有name sex score三个字段,而且都赋了值了呀
为什么会出现这样的情况呢,望多多指教,网页输出如下:
http://img309.photo.163.com/cdsheng1983/37996111/1030278556.jpg
只是输出的结果不对,相关程序如下:jvavbean为:
package student;
import java.sql.*;
public class conn {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:student";
Connection connect = null;
ResultSet rs = null;
public conn() {
try {
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println( e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
try {
connect = DriverManager.getConnection(sConnStr);
Statement stmt = connect.createStatement();
rs = stmt.executeQuery(sql);
return rs;
}
catch(SQLException ex) {
System.err.println(ex.getMessage());
return null;
}
}
}
conn_db.jsp源代码修改如下:<%@ page contentType="text/html;charset=GBK" %>
<%@ page language="java" import="java.sql.*"%>
<jsp:useBean id="connDbBean" scope="page" class="student.conn"/>
<html>
<head>
<title>test db connection</title>
</head>
<body bgcolor="#FFFFFF">
<div align="center">
<table width="60%" border="1">
<tr bgcolor="#CCCCFF">
<td width="50%">
<div align="center"><font color="#FF0033"><b>姓名</b></font></div>
</td>
<td width="25%">
<div align="center"><font color="#FF0033"><b>性别</b></font></div>
</td>
<td width="25%">
<div align="center"><font color="#FF0033"><b>分数</b></font></div>
</td>
</tr>
<%
ResultSet RS_result = connDbBean.executeQuery("select * from Table1");
String studentName="";
String studentSex="";
int studentScore=0;
if(RS_result!=null){
while(RS_result.next())
{
studentName=RS_result.getString("name");
studentSex=RS_result.getString("sex");
studentScore=RS_result.getInt("score");
%>
<tr>
<td width="50%" bgcolor="#FFFFFF">
<div align="center"><%=studentName%></div>
</td>
<td width="25%">
<div align="center"><%=studentSex%></div>
</td>
<td width="25%">
<div align="center"><%=studentScore%></div>
</td>
</tr>
<%
}
RS_result.close();
}
else
out.println("返回值为空");
%>
</table>
</body>
</html>
经过http://localhost:8080/myjsp/JSP-08/conn_db.jsp进行访问,
浏览器没有提示错误,有页内容输出,只是并没有输出数据库中的任何值,
难道是数据库连接不上吗?可是我数据源设置也设了,javabean中的数据库连接
也应该没有错吧?数据库里有name sex score三个字段,而且都赋了值了呀
为什么会出现这样的情况呢,望多多指教,网页输出如下:
http://img309.photo.163.com/cdsheng1983/37996111/1030278556.jpg
你的JavaBean测试能运行吗
catch(SQLException ex) {
System.err.println(ex.getMessage());
return null;
}
看看你的log 异常信息是什么
还有JavaBea有自己的规范最好这样写
jvavbean为:
package student;
import java.sql.*;
public class conn {
public conn() {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
try {
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println( e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
String sConnStr = "jdbc:odbc:student";
Connection connect = null;
ResultSet rs = null; try {
connect = DriverManager.getConnection(sConnStr);
Statement stmt = connect.createStatement();
rs = stmt.executeQuery(sql);
return rs;
}
catch(SQLException ex) {
System.err.println(ex.getMessage());
return null;
}
}
}
把这些属性写成局部变量
因为JavaBean要对每个属性要有set/get 方法
没有出现异常呀
截图在http://img309.photo.163.com/cdsheng1983/37996111/1030278556.jpg
try {
connect = DriverManager.getConnection(sConnStr);
Statement stmt = connect.createStatement();
rs = stmt.executeQuery(sql);
return rs;
}
catch(SQLException ex) {
// 在查看应用服务器下有没有输出这条语句的错误
System.err.println(ex.getMessage());
return null;
}
不是安装了服务器就可以了吗?
其它没有关系到数据库的程序都可以正确运行的啊