请问有closeStmt()这个用法吗?
我的数据库连接文件是:mydb.java
package mydb;
import java.sql.*;
public class mydb{
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr="jdbc:odbc:user";
Connection conn=null;
ResultSet rs=null;
public mydb(){
try{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e){
System.err.println("mydb():"+e.getMessage());
}
}
public ResultSet executeQuery(String sql){
rs=null;
try{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;
}
}
请问:
<%@ page language="java" import="java.sql.*"%>
<jsp:useBean id="RegisterBean" scope="page" class="mydb.mydb"/>
<%String sql="select * from user";
ResultSet rs=RegisterBean.executeQuery(sql);
if(rs.next())
{rs.close();
RegisterBean.closeStmt();//?????????????数据库有此用法吗?
session.putValue("register_message","duplicate name found!");
}
%>
问题点数:80、回复次数:7Top
1 楼dext(德克斯特)回复于 2003-11-02 17:37:48 得分 10
stmt.close();Top
2 楼fowlerowen(利物浦天才)回复于 2003-11-02 17:54:31 得分 10
你的RegisterBean里面根本没有定义closeStmt();方法,又怎么能用RegisterBean.closeStmt()呢?
ResultSet有close()方法,Statement同样有该方法。Top
3 楼singnet(山居中人)回复于 2003-11-03 10:09:26 得分 20
在BEAN里加一个方法
public void closeStmt()
{
if(rs != null)
rs.close();
if(conn != null)
conn.close();
if(stmt != null)
stmt.close();
}
然后再调用closeStmt()方法
Top
4 楼cxjd(dong)回复于 2003-11-03 10:22:37 得分 20
我是变了一个类专门用于关闭方法:
package website;
import java.sql.*;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class DBClose {
public void close(Connection conn){
if(conn!=null)
try{
conn.close();
}catch(Exception e){
}
}
public void close(PreparedStatement ps){
if(ps!=null)
try{
ps.close();
}catch(Exception e){
}
}
public void close(Statement s){
if(s!=null)
try{
s.close();
}catch(Exception e){
}
}
public void close(ResultSet rs){
if(rs!=null)
try{
rs.close();
}catch(Exception e){
}
}
public void close(ResultSet rs,Connection conn){
close(rs);
close(conn);
}
public void close(Connection conn,ResultSet rs){
close(rs);
close(conn);
}
public void close(PreparedStatement ps,Connection conn){
close(ps);
close(conn);
}
public void close(Connection conn,PreparedStatement ps){
close(ps);
close(conn);
}
public void close(Statement s,Connection conn){
close(s);
close(conn);
}
public void close(Connection conn,Statement s){
close(s);
close(conn);
}
public void close(ResultSet rs,PreparedStatement ps,Connection conn){
close(rs);
close(ps);
close(conn);
}
}
Top
5 楼lynx1111(任我行:一个PLMM看着就兴奋的男人)回复于 2003-11-03 10:26:41 得分 20
你是不是看的这个:??
package firm;
import java.sql.*;
public class firm {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:firm";
private Connection conn = null;
private Statement stmt = null;
ResultSet rs = null;
public firm() {
try {
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("firm(): " + e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
conn = DriverManager.getConnection(sConnStr);
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs;
}
public void executeUpdate(String sql) {
stmt = null;
rs=null;
try {
conn = DriverManager.getConnection(sConnStr);
stmt = conn.createStatement();
stmt.executeQuery(sql);
stmt.close();
conn.close();
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
}
public void closeStmt(){
try{
stmt.close();
}
catch(SQLException e){
e.printStackTrace();
}
}
public void closeConn(){
try{
conn.close();
}
catch(SQLException e){
e.printStackTrace();
}
}
}
Top
6 楼zqgiftno1(X-FACTOR)回复于 2003-11-05 10:51:26 得分 0
简单点加上:
public void closeStmt(){
try{
stmt.close();
}
catch(SQLException ek)
{System.err.println("stmt error"+ek.getMessage());
}
}Top
7 楼zqgiftno1(X-FACTOR)回复于 2004-01-02 13:17:20 得分 0
package mydb;
import java.sql.*;
public class mydb{
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr="jdbc:odbc:user";
Connection conn=null;
ResultSet rs=null;
Statement stmt;
public mydb(){
try{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e){
System.err.println("mydb():"+e.getMessage());
}
}
public ResultSet executeQuery(String sql){
rs=null;
try{
conn=DriverManager.getConnection(sConnStr);
stmt=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;
}
public void executeUpdate(String sql){
rs=null;
try{
conn=DriverManager.getConnection(sConnStr);
stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException em)
{System.err.println("aq.executeQuery:"+em.getMessage());
}
}
public void closeStmt(){
try{
stmt.close();
}
catch(SQLException ek)
{System.err.println("stmt error"+ek.getMessage());
}
}
}Top




