当前位置: 代码迷 >> Java Web开发 >> 一个数据库连接问题
  详细解决方案

一个数据库连接问题

热度:164   发布时间:2006-11-21 20:15:04.0
一个数据库连接问题

数据库;连接代码如下,是 ACESS的
package conn;
import java.sql.*;
public class connDb{
public static String prox="sun.jdbc.odbc.JdbcOdbcDriver";
public static Connection con;

public static String pname="jdbc:odbc:book";
public connDb(){
}

public static Connection getConnection(){
try{
Class.forName(prox);
con=DriverManager.getConnection(pname);

}catch(ClassNotFoundException e){
System.out.println(e.getMessage());
}catch(SQLException e){
System.out.println(e.getMessage());
}
if(con==null){
System.out.println("没有获得数据库连接");
}

return con;

}
public static ResultSet executeQuery(String sql){//查询
con=connDb.getConnection();
ResultSet rs=null;
try{

Statement stmt=con.createStatement();

rs=stmt.executeQuery(sql);

}catch(SQLException e){}
return rs;
}


public static boolean uptate(String sql){//删除,更新

boolean b=false;
Connection con=null;
PreparedStatement ps=null;
try{
con=connDb.getConnection();
ps=con.prepareStatement(sql);
if(ps.executeUpdate()>0){
b=true;

}else{
b=false;
}

}catch(SQLException e){
b=false;
e.printStackTrace();
}finally{
System.out.println(ps+"DataBase.delete()"+sql);
try{
if(ps!=null){
ps.close();
}
}catch(SQLException e){
ps=null;
}
try{
if(con!=null){
con.close();
}
}catch(SQLException e){
con=null;
}

}
return b;
}
}

jsp文件如下
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<%@ page import="conn.connDb"%>
<jsp:useBean id="con" class="conn.connDb" scope="session"/>
<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
%>
<%
String sql="select * from main order by id desc";

ResultSet rs=con.executeQuery(sql);
try{
while(rs.next()){%>
<%=rs.getString("content")%>
<%
}
}catch(SQLException e){out.println("错误");}

%>
<body>
</body>
</html>
出现的异常如下:
org.apache.jasper.JasperException: An exception occurred processing JSP page /web/index.jsp at line 18
15: <%
16: String sql="select * from main order by id desc";
17:
18: ResultSet rs=con.executeQuery(sql);
19: try{
20: while(rs.next()){%>
21: <%=rs.getString("content")%>
不知道怎么弄,一天了,还不行,请帮忙看下,要怎么解决,谢了

搜索更多相关主题的帖子: 数据库  

----------------解决方案--------------------------------------------------------
要懂得调试程序,先确定用户名密码是否正确
能否得到连接
然后再看你的SQL语句是否正确
一步一步看,就知道哪一步出问题了,就好解决了
----------------解决方案--------------------------------------------------------
要懂得调试程序,先确定用户名密码是否正确
能否得到连接
然后再看你的SQL语句是否正确
一步一步看,就知道哪一步出问题了,就好解决了

----------------解决方案--------------------------------------------------------
你的 Connection 似乎在这个 connDb(你自己导入的类中) 你要先调用那里面的方法在这个页面中得到Connection对象 不知道说的对不对
但是知道
ResultSet rs=con.executeQuery(sql);

你这句有问题
----------------解决方案--------------------------------------------------------
<jsp:useBean id="con" class="conn.connDb" scope="session"/>
有这种用法的吗?以前一直没遇到过 如果可以的话 那就不是我说的问题了
----------------解决方案--------------------------------------------------------
以下是引用千里冰封在2006-11-21 20:29:28的发言:
要懂得调试程序,先确定用户名密码是否正确
能否得到连接
然后再看你的SQL语句是否正确
一步一步看,就知道哪一步出问题了,就好解决了

我用JAVA程序测试的时候是可以的


----------------解决方案--------------------------------------------------------
调试可以,那就可以排除程序的问题,再看看你的JSP文件就可以
还有,要看看你的详细错误信息
----------------解决方案--------------------------------------------------------
以下是引用lewis0323在2006-11-21 20:40:54的发言:
你的 Connection 似乎在这个 connDb(你自己导入的类中) 你要先调用那里面的方法在这个页面中得到Connection对象 不知道说的对不对
但是知道
ResultSet rs=con.executeQuery(sql);

你这句有问题

是在那里,但是我调用那个方法也不行的
应该是ResultSet rs=con.executeQuery(sql);这个错误,不知道怎么改了,郁闷很久了,这个要怎么写啊


----------------解决方案--------------------------------------------------------
以下是引用lewis0323在2006-11-21 20:42:55的发言:
<jsp:useBean id="con" class="conn.connDb" scope="session"/>
有这种用法的吗?以前一直没遇到过 如果可以的话 那就不是我说的问题了

这样可以的,书上都这么写的,


----------------解决方案--------------------------------------------------------
你能保证你的Connection能得到吗?

----------------解决方案--------------------------------------------------------
  相关解决方案