//dbconn.java 
/** 
* Title:用Javabean连接据? 
* Description:用Bean把常用的数据库功能封装,在JSP中声明该Bean。 
* How to use it:该javabean包含了三个操作,返回值分为两类, 
* 第一类为数据集,主要用来做查询的返回值其中包含query动作。 
* 第二类为二进制类型,用来判断执行结果是否正确。包括delete,update,opt这两种操作不用返回值但是需要判断是否正确。 
* Copyright: nwnu.edu.cn Copyright © 2003 
* version dbconn oracle1.0 版本 
**/ package com.include; 
import oracle.jdbc.driver.*; 
import java.sql.*; 
public class dbconn 
{ String sDBDriver="oracle.jdbc.driver.OracleDriver"; 
String sConnStr="jdbc:oracle:thin:@202.201.48.9:1521:test"; 
String user="user"; 
String password="pass"; 
Connection conn=null; 
ResultSet rs=null; 
boolean result=false; 
public static String tts,liststr; 
//加载数据库驱动程序 
public dbconn() 

try{ 
Class.forName(sDBDriver); 

catch(java.lang.ClassNotFoundException e) 

System.err.println("数据库驱动文件错误:"+e.getMessage()); 


//数据库更新 
public boolean update(String sql) 

result=false; 
try 

conn=DriverManager.getConnection(sConnStr,user,password); 
Statement stmt=conn.createStatement(); 
stmt.executeUpdate(sql); 
result=true; 

catch(SQLException ex) 

System.err.println("无法更新数据库:"+ex.getMessage()); 

return result; 

//数据库查询 
public ResultSet query(String sql) 

rs=null; 
try 

conn=DriverManager.getConnection(sConnStr,user,password); 
Statement stmt=conn.createStatement(); 
rs=stmt.executeQuery(sql); 

catch(SQLException ex) 

System.err.println("无法查询记录:"+ex.getMessage()); 

return rs; 

//数据库删除 
public boolean delete(String sql) 

result=false; 
try 

conn=DriverManager.getConnection(sConnStr,user,password); 
Statement stmt=conn.createStatement(); 
stmt.executeUpdate(sql); 
result=true; 

catch(SQLException ex) 

System.err.println("不能删除数据库:"+ex.getMessage()); 

return result; 

//数据库相关无返回值操作,建库、建表、修改表结构…… 
public boolean opt(String sql) 

result=false; 
try 

conn=DriverManager.getConnection(sConnStr,user,password); 
Statement stmt=conn.createStatement(); 
stmt.executeUpdate(sql); 
result=true; 

catch(SQLException ex) 

System.err.println("不能删除数据库:"+ex.getMessage()); 

return result; 

public String sql(String sql,String pagestart) 

//每页显示条数,后面在LIST中的20和这里的PAGESIZE一样 
String pagesize; 
pagesize="20"; 
String backsql="select * from (select rownum as m_rownum,m_table.* from ("+sql+") m_table where rownum<="+pagestart+"+"+pagesize+"-1) where m_rownum>="+pagestart; 
return backsql; 

public String sql(String sql,String pagestart,String pagesize) 

String backsql="select * from (select rownum as m_rownum,m_table.* from ("+sql+") m_table where rownum<="+pagestart+"+"+pagesize+"-1) where m_rownum>="+pagestart; 
return backsql; 

//执行sql语句返回数据集 
public ResultSet list(String sql,String pagestart,String pagesize ) 

//得到总的条数 
int i=0; 
try{ 
String tssql="select count(*) as ts from ("+sql+")"; 
ResultSet rs1=query(tssql); 
rs1.next(); 
i=rs1.getInt("ts"); 

catch(SQLException exp) 

System.out.print("空记录"); 

tts=String.valueOf(i); 
if (i<Integer.parseInt(pagestart)) 

pagestart=String.valueOf(i-(i % Integer.parseInt(pagesize))); 

if (i<0) 

i=0; 

String sqlext=sql(sql,pagestart,pagesize ); 
ResultSet rs=query(sqlext); 
return rs; 
} public ResultSet list(String sql,String pagestart ) 

//得到总的条数 
String pagesize; 
pagesize="20"; 
int i=0; 
try{ 
String tssql="select count(*) as ts from ("+sql+")"; 
ResultSet rs1=query(tssql); 
rs1.next(); 
i=rs1.getInt("ts"); 

catch(SQLException exp) 

System.out.print("空记录"); 

tts=String.valueOf(i); 
//得到当前条数 
if (i<Integer.parseInt(pagestart)) 

pagestart=String.valueOf(i-(i % Integer.parseInt(pagesize))); 

if (i<0) 

i=0; 
} String sqlext=sql(sql,pagestart); 
ResultSet rs=query(sqlext); 
return rs; 

}