一个关闭数据库连接的问题?

kind123 2001-06-21 05:58:00
我将与数据库的连接及录入放到java组件中,然后从jsp中网页中调用组件中的连接函数,成功后将sql语句传到java组件中的录入函数,完成后我想断开连接,调用的是java组件中的断开函数,但是无法执行,附:程序
//--------------------------------------------------------------
// 包名:init
// 类名:conn
// 功能:提供数据库的连接及各种操作
// 时间:2001-6-5
// author:liujihong
//--------------------------------------------------------------
package init;
import java.sql.*;
import sun.io.*;
public class conn{
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:faq";
Connection conn = null;
Statement stmt = null;
String strValue=null;
ResultSet rs=null;
int recNum=0;
int intValue=0;
//-------------------------------------------------------
//函数名:link
//功能:通过JDBC-ODBC连接SQL SERVER数据库
//返回值:字浮串,如果为NULL,说明连接不成功;否则,连接成功,返回success.
//-------------------------------------------------------
public String link() {
try {
Class.forName(sDBDriver);
System.err.println("welcome you ,success!");
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("link(): " + e.getMessage());
}
try {
conn = DriverManager.getConnection(sConnStr);
strValue="success";
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return strValue;
}


// ------------------------------------------------------------
// 函数名:executeUpdate()
// 功能:数据录入-修改-删除函数
// 返回值:整数,如果为0,说明操做不成功;否则,操作成功.
//-------------------------------------------------------------
public int executeUpdate(String sql) {
try {
Statement stmt = conn.createStatement();
intValue=stmt.executeUpdate(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeUpdate: " + ex.getMessage());
}
return intValue;
}
//关闭连接
public void closeConnect() {
try {
stmt.close();
conn.close();
}
catch(SQLException ex) {
System.err.println("aq.executeUpdate:"+ ex.getMessage());}
}

}



...全文
31 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
twinkle_wy 2001-06-24
我的连库的JAVABEAN是这样的,我试过了,可以关库,以及对其各种操作。
package dbconn;

import java.sql.*;
import java.io.*;
import java.util.*;
import java.net.URL;
import java.io.InputStream;
import java.util.Properties;

public class DBconn{
String dns="";
String host="";
String port="";
String type="";
String dbDriver= "";
Connection conn = null;
Statement stmt = null;
String dataSource = "";
String username = "";
String password = "";
ResultSet rs=null;
String eHint = "";
String dept;
String isconn;

//open connection
public boolean OpenConnection(){

try
{
dbDriver= "com.sybase.jdbc2.jdbc.SybDriver";
Class.forName(dbDriver);

//与DBMS建立连接
conn=DriverManager.getConnection("jdbc:sybase:Tds:16.1.1.10:6666", "xf","xufeng");//"jdbc:sybase:Tds:192.168.0.215:6666", "nms", "enetmanager"
return true;
}catch (SQLException e1){
eHint= "connection:" + e1.getMessage();
return false;
}catch (ClassNotFoundException e2){
eHint="Unable to load the Sybase JDBC driver:"+ e2.getMessage();
return false;
}catch(Exception e3){
eHint = "Open db configure file:"+e3.getMessage();
return false;
}
}

//执行select
public ResultSet getResultSet(String sql){
rs=null;
try{
// 创建一个 Statement 对象,使我们可以向驱动程序提交 SQL 语句
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
eHint= "getResultSet:"+ex.getMessage();
}
return rs;
}
//执行update
public boolean executeQuery(String sql)
{
try{
// 创建一个 Statement 对象,使我们可以向驱动程序提交 SQL 语句
stmt = conn.createStatement();
// 提交查询,创建 ResultSet 对象
stmt.executeUpdate(sql);
return true;
}catch(SQLException ex) {
eHint= "executeQuery: " + ex.getMessage();
return false;
}
}

//关闭连接
public boolean closeConn()
{
try{
if (rs!=null) rs.close();
if (stmt!=null) stmt.close();
if (conn!=null) conn.close();
return true;
}catch(SQLException ex) {
eHint= "closeConn: " + ex.getMessage();
return false;
}
}
}
回复
kind123 2001-06-24
有人会吗
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2001-06-21 05:58
社区公告
暂无公告