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();
}
}
}
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();
}
}
}
然后再jsp中调用就可以了!
这个是局部变量,在你的public ResultSet executeQuery(String sql)执行完以后就自动关闭了
我怀疑你是否能用你的ResultSet取得数据?
所以你的stmt不能关闭吧
String sConnStr = "jdbc:odbc:faq";
Connection conn = null;
ResultSet rs = null;public init() {
try {
Class.forName(sDBDriver); }
catch(java.lang.ClassNotFoundException e) {
System.err.println(e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql); }
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs; }
public ResultSet updataQuery(String sql) {
rs = null;
try {
conn = DriverManager.getConnection(sConnStr);
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs; }
}
public class faq {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:faq";
Connection conn = null;
ResultSet rs = null;
Statement stmt = null;
public init() {
try {
Class.forName(sDBDriver);
conn = DriverManager.getConnection(sConnStr);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("faq(): " + e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql); }
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs; }
public ResultSet updataQuery(String sql) {
rs = null;
try {
stmt = conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs; }}
public class faq {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:faq";
Connection conn = null;
ResultSet rs = null;
Statement stmt = null;
public init() {
try {
Class.forName(sDBDriver);
conn = DriverManager.getConnection(sConnStr);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("faq(): " + e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql); }
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs; }
public ResultSet updataQuery(String sql) {
rs = null;
try {
stmt = conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs; }public void Close(){
try{
conn.close();
stmt.close();
}catch(Exception e){}
}}
里面
stmt.close();
conn.close();
这样比较好吧!
我的faq.java现在改为:
package test;
import java.sql.*;public class faq {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:faq";
private Connection conn = null;
private Statement stmt = null;
ResultSet rs = null; public faq() {
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();
}
}
}
--------------------
//用于显示的jsp文件
<jsp:useBean id="work" scope="page" class="test.faq"/>
<%String tt;
ResultSet rs = work.executeQuery("select * from fk order by id");
while (rs.next()) {
tt = rs.getString("name");
out.print("·" + tt+"<br>" );
}
rs.close();
work.closeStmt();
work.closeConn();
%>
都是同样的java这个jsp文件是:
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="workM" scope="page" class="test.faq"/>
<%
String name = new String(request.getParameter("name").getBytes("8859_1"),"GB2312");
String str[] = name.split(",");for(int i=0;i<str.length;i++)
{
String SQL="INSERT INTO fk(name) VALUES('"+str[i]+"')";
workM.executeUpdate(SQL);
}
response.sendRedirect("../main/art01_main.htm");
%>这里怎么关闭哦????(faq.java同上!)
stmt.close();
conn.close();
}这样就可以。
public void close(){
try{
if(rs!=null){
rs.close();
}
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}catch(SQLException sqle){
System.out.println(sqle.getMessage());
}catch(Exception ex){
System.out.println(ex.getMessage());
}
}