社区
Web 开发
帖子详情
jsp连接access简单问题,很急
figohl
2003-06-11 05:32:15
tomcat总是说:客户端工作过多。本人采用的是jdbc-odbc桥,正在做聊天室
社及很多的select update insert .数据库操作部份封装成一个类。请高手帮忙。
...全文
22
14
打赏
收藏
jsp连接access简单问题,很急
tomcat总是说:客户端工作过多。本人采用的是jdbc-odbc桥,正在做聊天室 社及很多的select update insert .数据库操作部份封装成一个类。请高手帮忙。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
figohl
2003-06-12
打赏
举报
回复
在method中增加了如下方法:
public void closeStmt(){
try{
stmt.close();
}
catch (SQLException e){
e.printStackTrace();
}
}
public void colseConn(){
try{
conn.close();
}
catch (SQLException e){
e.printStackTrace();
}
}
除了select调用这个关闭外,其它update..我仍然在方法中调用。可否?
vincentmax
2003-06-11
打赏
举报
回复
我晕啊~~~~
你在哪儿调用的查询,就在那个方法里面再调关数据库链接的方法啊,--当然你必须在封装的类里面增加关链接的方法啦
我说的够清楚了吧,还搞不定?
tangjiyu
2003-06-11
打赏
举报
回复
多谢楼主,已经收到,可是少了mdb数据库文件,希望你能够把它发给我.
figohl
2003-06-11
打赏
举报
回复
多谢!刚才也注意到这个问题了,昭你的方法改了,把7,8给册掉了,可是聊天室运行不稳
定,五分中后,又不行了。tomcat说:客户端工作太多,注销以后又好用了,我猜可能是数据
源没放开。但不知怎么下手。我会把源代码给你发过去的。
vincentmax
2003-06-11
打赏
举报
回复
楼上所说就是我的意思嘛,封装里面至少包括4个方法:
一个是取数据库链接的方法
一个是关数据库链接的方法
一个是执行select语句的方法(返回resultset类型)
一个是执行非select语句的方法(返回影响的记录数的int值)
你必须在你的应用里面去取链接,执行select语句,然后处理结果集,最后关闭链接。
否则用你封装的executeQuery()方法,你的应用得到结果集是一个已经被关闭的结果集啊--你不可能在你的executeQuery()方法里面关闭链接之后才返回结果集的,这时候的结果集已经跟链接一起被关闭了。
tangjiyu
2003-06-11
打赏
举报
回复
记得把你的聊天室发给我,多谢,再次感谢。bily761226@yahoo.com.cn
建议在加一个关闭的封装
public void connclose()
{
if (conn!=null)
{
try
{
conn.close();
}
catch (SQLException e)
{
}
}
}
tangjiyu
2003-06-11
打赏
举报
回复
上面错了,更正:
public ResultSet executeQuery(String sql){
try{
conn=DriverManager.getConnection(sConnStr);
stmt=conn.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);
7 stmt.close();
8 conn.close();
}
catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage());
}
15 return rs;
}
tangjiyu
2003-06-11
打赏
举报
回复
能不能够把你的相关文件发为我,希望能够帮帮你。
email:bily7612262@yahoo.com.cn
我也用JDBCODBC连ACCESS,怎么只要 SELECT DISTINCT 某某某 FROM 某表就出错
这是因为:7和8关闭了连接,15又要返回它当然会出错,注意select和其他更新操作不同,select要返回一个数据集,所以只有在jsp引用后在关闭。
1 public void executeInsert(String sql){
2 try{
3 conn=DriverManager.getConnection(sConnStr);
4 Statement stmt=conn.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, 5ResultSet.CONCUR_UPDATABLE);
6 stmt.executeUpdate(sql);
7 stmt.close();
8 conn.close();
9 }
10 catch(SQLException ex)
11 {
12 System.err.println("sql_data.executerInset:"+ex.getMessage());
13 }
14 }
15 return rs;
vincentmax
2003-06-11
打赏
举报
回复
你的封装有问题啊!!
一般的做法是封装了取连接方法、关连接方法和执行sql操作的方法。
然后在你的应用里面控制,先取连接,执行sql,关连接。
关键是,你不能在执行sql的方法里面关连接啊,这样你返回的resultset已经是关闭的了啊!!
figohl
2003-06-11
打赏
举报
回复
好象和他无关系。现在打开其它页时,tomcat说:resultset is closed.在线等,另外再加
100分。
sasa_sasa
2003-06-11
打赏
举报
回复
试试这样写:select distinct(colmun) from table_name;
figohl
2003-06-11
打赏
举报
回复
以下是封装的数据库操作代码:
连接已经关闭了呀?
package reg_one;
import java.sql.*;
import java.sql.DriverManager;
public class db{
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr="jdbc:odbc:jsp_db";
private Statement stmt=null;
private Connection conn=null;
ResultSet rs=null;
public db() {
try{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e){
System.err.println("db():"+e.getMessage());}
}
public ResultSet executeQuery(String sql){
try{
conn=DriverManager.getConnection(sConnStr);
stmt=conn.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);
stmt.close();
conn.close();
}
catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;
}
public void executeInsert(String sql){
try{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
stmt.executeUpdate(sql);
stmt.close();
conn.close();
}
catch(SQLException ex)
{
System.err.println("sql_data.executerInset:"+ex.getMessage());
}
}
public void executeUpate(String sql){
try{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
stmt.executeUpdate(sql);
stmt.close();
conn.close();
}
catch(SQLException ex)
{
System.err.println("sql_data.executerUpdate:"+ex.getMessage());
}
}
public void executeDelete(String sql){
try{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
stmt.executeUpdate(sql);
stmt.close();
conn.close();
}
catch(SQLException ex)
{
System.err.println("sql_data.executerDelete:"+ex.getMessage());
}
}
}
darkangellc
2003-06-11
打赏
举报
回复
我也用JDBCODBC连ACCESS,怎么只要 SELECT DISTINCT 某某某 FROM 某表就出错
caoze
2003-06-11
打赏
举报
回复
是不是没关闭连接啊?
可能的话用pool看看。
jsp
获取微信公众号网页授权和用户信息(code、
access
_token、openid等)
jsp
获取微信公众号网页授权和用户信息(code、
access
_token、openid等) 01-
JSP
获取微信公众号网页授权和用户信息演示 02-
JSP
获取远程网页内容 03-官方文档概要 04-获取用户同意授权 05-用户同意授权后获取code 06-...
jsp
+
access
网络书店销售管理系统(系统+论文+开题报告+任务书+摘要+英文文献)
毕业设计(论文)任 务 书拟题单位 审题人题目名称 网络书店销售管理系统题目性质 □ 真实题目 √ 虚拟题目学生学号 指导教师学生姓名 技术职称专业名称 指导小组组长学生院系 技术职称学生层次 本科 所在单位20 年 月 日在网络时代,人们对信息表现出了前所未有的渴求,并普遍地追求工作的质量与效率。
基于
JSP
的网上订餐管理系统的设计与实现(包调试成功)
目 录摘要IAbstractII绪 论11 系统概述与技术介绍21.1 课题背景21.2 B/S结构介绍31.3
JSP
技术介绍41.4 JavaScrip语言介绍41.5 MySQL数据库介绍51.6 MyEclipse介绍51.7 MVC模式介绍62 系统需求分析72.1 开发环境72.2 需求分析72.3 可行性分析83 系统概要设计93.1 系统设计概述93.2 系统功能分析103.3 系统用例图123.4 系统功流程图14。
实战:Ubuntu Dapper下架设Tomcat5+MySQL5+
JSP
最近正在制作一个
jsp
的Web应用项目,项目组内一共是四个成员,其它成员都是在Windows下工 作,只有我在Linux下工作。我的工作就是进行后期的页面布局和服务器的架设,以及编码的统一(GB2312->UTF-8)。一周前在 Windows下tomcat+mysql测试好的几份后台代码交到了我这里,本来没有在意服务器的架设,以为很
简单
,没想到怎么安装都是出错。前前后后 用了一周多的时间,昨天夜
通过 ActiveMQ 演示如何使用 JMS API (入门)
消息机制是软件组件和应用程序之间通讯的一种方法,一个消息系统是一个点对点的服务:消息客户端可以发送消息也可以接收消息,每一个客户端
连接
到一个消息代理,这个代理提供了消息的创建、发送、接收和读取的功能。 因为是松散耦合的架构使得消息机制很适合用在分布式通讯。组件将消息发送到目的地,而接收者从目的地获取所发送的消息。但是不要求发送者和接收者都同时有效。事实上,发送者不需要知道接收者的信息,而接收者也
Web 开发
81,092
社区成员
341,717
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章