| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1377 人关注过本帖
标题:一个数据库连接问题
取消只看楼主 加入收藏
寂寞天涯人
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2006-3-18
收藏
 问题点数:0 回复次数:12 
一个数据库连接问题

数据库;连接代码如下,是 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")%>
不知道怎么弄,一天了,还不行,请帮忙看下,要怎么解决,谢了

搜索更多相关主题的帖子: 数据库 
2006-11-21 20:15
寂寞天涯人
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2006-3-18
收藏
得分:0 
以下是引用千里冰封在2006-11-21 20:29:28的发言:
要懂得调试程序,先确定用户名密码是否正确
能否得到连接
然后再看你的SQL语句是否正确
一步一步看,就知道哪一步出问题了,就好解决了

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


书籍,电影,音乐的互动交流平台http://www./
2006-11-21 20:47
寂寞天涯人
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2006-3-18
收藏
得分:0 
以下是引用lewis0323在2006-11-21 20:40:54的发言:
你的 Connection 似乎在这个 connDb(你自己导入的类中) 你要先调用那里面的方法在这个页面中得到Connection对象 不知道说的对不对
但是知道
ResultSet rs=con.executeQuery(sql);

你这句有问题

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


书籍,电影,音乐的互动交流平台http://www./
2006-11-21 20:50
寂寞天涯人
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2006-3-18
收藏
得分:0 
以下是引用lewis0323在2006-11-21 20:42:55的发言:
<jsp:useBean id="con" class="conn.connDb" scope="session"/>
有这种用法的吗?以前一直没遇到过 如果可以的话 那就不是我说的问题了

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


书籍,电影,音乐的互动交流平台http://www./
2006-11-21 20:53
寂寞天涯人
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2006-3-18
收藏
得分:0 
以下是引用千里冰封在2006-11-21 20:50:01的发言:
调试可以,那就可以排除程序的问题,再看看你的JSP文件就可以
还有,要看看你的详细错误信息

jsp文件已经放上面了,帮忙看下,我实在没办法了,快要做毕业设计了,这状态让人着急死了
错误信息都在这里了
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

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")%>

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:555)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

java.lang.NullPointerException
conn.connDb.executeQuery(connDb.java:36)
org.apache.jsp.web.index_jsp._jspService(index_jsp.java:83)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:390)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.2 logs.
一定帮我看看 啊
是不是javabean 写错了,还是JSP错误
谢谢


书籍,电影,音乐的互动交流平台http://www./
2006-11-21 21:01
寂寞天涯人
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2006-3-18
收藏
得分:0 
以下是引用千里冰封在2006-11-21 21:00:56的发言:
还有,你看看你的日志里面你System.out打印出的内容就知道 了
日志里有这个
General error
没有获得数据库连接
General error
没有获得数据库连接
怎么改正啊

书籍,电影,音乐的互动交流平台http://www./
2006-11-21 21:06
寂寞天涯人
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2006-3-18
收藏
得分:0 

我的数据库的用户名和密码多是空的。


书籍,电影,音乐的互动交流平台http://www./
2006-11-21 21:14
寂寞天涯人
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2006-3-18
收藏
得分:0 
数据源那里应该没错的,因为我用JAVA代码测试过,
我也不知道connection那里为什么得不到连接。

书籍,电影,音乐的互动交流平台http://www./
2006-11-21 21:24
寂寞天涯人
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2006-3-18
收藏
得分:0 

就是用这个
public static void main(String[] args){

connDb c=new connDb();

String s="select * from main order by id desc";
try{

c.executeQuery(s);
while(rs.next()){
System.out.println(rs.getString("content"));
}
}catch(SQLException e){
System.out.println(e.getMessage());
}


}


书籍,电影,音乐的互动交流平台http://www./
2006-11-21 21:43
寂寞天涯人
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2006-3-18
收藏
得分:0 
我设置了些
CATALINA_BASE=%CATALINA_HOME%
CATALINA_HOME=C:\Tomcat 6.0
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\mssqlserver.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;TOMCAT_HOME\common\lib\servlet-api.jar
JAVA_HOME=C:\jdk1.5.0_07
就这些了,还需要设置哪些吗,帮我看看

书籍,电影,音乐的互动交流平台http://www./
2006-11-21 21:58
快速回复:一个数据库连接问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014870 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved