这人方法很简单,是jsp 调用sql server数据源的,并对查询及插入做了些处理,本方法适合于初学者
/*CERLinux联盟
* Created on 2002-8-30CERLinux联盟
* CopyRight by http://www.designac.orgCERLinux联盟
*/CERLinux联盟
package org.DesignAC.database;
import java.sql.*;CERLinux联盟
import java.util.*;CERLinux联盟
import com.microsoft.jdbcx.sqlserver.SQLServerDataSource;CERLinux联盟
/**CERLinux联盟
* @author BiggieCERLinux联盟
*CERLinux联盟
* Class Function:数据库连接bean,取sql server JDBC数据源,这个数据源也可以用CERLinux联盟
* Tomcat,WebLogic,resin等提供CERLinux联盟
* 支持各种容器及平台CERLinux联盟
* @version 1.0ACERLinux联盟
* */CERLinux联盟
public class DBConnect {CERLinux联盟
file://You Host IPCERLinux联盟
private String strHostAddress="127.0.0.1";CERLinux联盟
file://Host PortCERLinux联盟
private int intHostPort=1433;CERLinux联盟
file://UserNameCERLinux联盟
private String strUserName="sa";CERLinux联盟
file://PassWordCERLinux联盟
private String strPassWord="";CERLinux联盟
file://DataBase NameCERLinux联盟
private String strDataName="dac";CERLinux联盟
file://Max ConnectionCERLinux联盟
private int intMaxConnection=10;CERLinux联盟
private Connection con=null;CERLinux联盟
private Statement stmt=null;CERLinux联盟
private ResultSet rs=null;CERLinux联盟
file://JDBC sourceCERLinux联盟
private SQLServerDataSource source=null;CERLinux联盟
ArrayList ArrayRs=new ArrayList();CERLinux联盟
/**CERLinux联盟
* @param 构造函数注册JDBC驱动程序CERLinux联盟
* */CERLinux联盟
public DBConnect(){CERLinux联盟
try{CERLinux联盟
if(source==null){CERLinux联盟
source=new SQLServerDataSource();CERLinux联盟
source.setDatabaseName(strDataName);CERLinux联盟
source.setServerName(strHostAddress);CERLinux联盟
source.setPortNumber(intHostPort);CERLinux联盟
source.setUser(strUserName);CERLinux联盟
source.setPassword(strPassWord);CERLinux联盟
file://source.setHostProcess(intMaxConnection);CERLinux联盟
CERLinux联盟
}CERLinux联盟
}catch(Exception e){CERLinux联盟
System.out.println("open database error:"+e.getMessage());CERLinux联盟
}CERLinux联盟
}CERLinux联盟
/**CERLinux联盟
* @param executeQuery查询数据库方法CERLinux联盟
* @param 每条ArrayList记录存为String[] 数组CERLinux联盟
* @return ArrayListCERLinux联盟
* @exception SQLExceptionCERLinux联盟
*/CERLinux联盟
public ArrayList executeQuery(String strSql) throws SQLException {CERLinux联盟
rs=null;CERLinux联盟
try{CERLinux联盟
con=source.getConnection();CERLinux联盟
stmt=con.createStatement();CERLinux联盟
rs=stmt.executeQuery(strSql);CERLinux联盟
CERLinux联盟
ResultSetMetaData rsmd=rs.getMetaData();CERLinux联盟
int numberOfColumns = rsmd.getColumnCount();CERLinux联盟
CERLinux联盟
file://判断是否为空CERLinux联盟
if(!ArrayRs.isEmpty()){CERLinux联盟
ArrayRs.clear();CERLinux联盟
}CERLinux联盟
/*CERLinux联盟
* 将每条记录写入数组CERLinux联盟
* 将数组放在ArrayList里CERLinux联盟
*/CERLinux联盟
while(rs.next()){CERLinux联盟
String[] strArrayTemp=new String[numberOfColumns];CERLinux联盟
for(int i=0;i<numberOfColumns;i++){CERLinux联盟
if(rs.getObject(i+1)==null){CERLinux联盟
strArrayTemp[i]= "";CERLinux联盟
}else{CERLinux联盟
strArrayTemp[i]=rs.getObject(i+1).toString();CERLinux联盟
}CERLinux联盟
}CERLinux联盟
ArrayRs.add(strArrayTemp);CERLinux联盟
}CERLinux联盟
return (ArrayList)ArrayRs.clone();CERLinux联盟
}catch(Exception e){CERLinux联盟
System.out.println("query error:" + e.getMessage());CERLinux联盟
}finally{CERLinux联盟
if (stmt != null) {CERLinux联盟
stmt.close();CERLinux联盟
}CERLinux联盟
if (con != null) {CERLinux联盟
con.close();CERLinux联盟
}CERLinux联盟
}CERLinux联盟
return ArrayRs;CERLinux联盟
}CERLinux联盟
/**CERLinux联盟
* @param executeInsert插入数据方法CERLinux联盟
* @return 插入条数是否成功(boolean)CERLinux联盟
*/CERLinux联盟
public boolean executeInsert(String strSql) throws SQLException{CERLinux联盟
rs=null;CERLinux联盟
try{CERLinux联盟
con=source.getConnection();CERLinux联盟
stmt=con.createStatement();CERLinux联盟
CERLinux联盟
con.setAutoCommit(true);CERLinux联盟
int i=stmt.executeUpdate(strSql);
if(i==1){CERLinux联盟
return (true);CERLinux联盟
}CERLinux联盟
}catch(Exception e){CERLinux联盟
System.out.println("Insert error:"+e.getMessage());CERLinux联盟
}finally{CERLinux联盟
if (stmt != null) {CERLinux联盟
stmt.close();CERLinux联盟
}CERLinux联盟
if (con != null) {CERLinux联盟
con.close();CERLinux联盟
}CERLinux联盟
}CERLinux联盟
return (false);CERLinux联盟
}CERLinux联盟
/**CERLinux联盟
* @param executeUpdate修改数据方法CERLinux联盟
* @return 修改数据数(int)CERLinux联盟
*/CERLinux联盟
public int executeUpdate(String strSql) throws SQLException{CERLinux联盟
rs=null;CERLinux联盟
int j=0;CERLinux联盟
try{CERLinux联盟
con=source.getConnection();CERLinux联盟
stmt=con.createStatement();CERLinux联盟
con.setAutoCommit(false);CERLinux联盟
CERLinux联盟
j=stmt.executeUpdate(strSql);CERLinux联盟
if(j>0){CERLinux联盟
con.commit();CERLinux联盟
}else{CERLinux联盟
con.rollback();CERLinux联盟
}CERLinux联盟
}catch(Exception e){CERLinux联盟
System.out.println("update error:"+e.getMessage());CERLinux联盟
}finally{CERLinux联盟
if (stmt != null) {CERLinux联盟
stmt.close();CERLinux联盟
}CERLinux联盟
if (con != null) {CERLinux联盟
con.close();CERLinux联盟
}CERLinux联盟
}CERLinux联盟
return j;CERLinux联盟
}CERLinux联盟
/**CERLinux联盟
* @param executeDelete删除数据方法CERLinux联盟
* @return 删除数据数(int)CERLinux联盟
*/CERLinux联盟
public int executeDelete(String strSql) throws SQLException{CERLinux联盟
rs=null;CERLinux联盟
int j=0;CERLinux联盟
try{CERLinux联盟
con=source.getConnection();CERLinux联盟
stmt=con.createStatement();CERLinux联盟
CERLinux联盟
con.setAutoCommit(false);CERLinux联盟
j=stmt.executeUpdate(strSql);CERLinux联盟
CERLinux联盟
if(j>0){CERLinux联盟
con.commit();CERLinux联盟
}else{CERLinux联盟
con.rollback();CERLinux联盟
}CERLinux联盟
}catch(Exception e){CERLinux联盟
System.out.println("Delete error:"+e.getMessage());CERLinux联盟
}finally{CERLinux联盟
if (stmt != null) {CERLinux联盟
stmt.close();CERLinux联盟
}CERLinux联盟
if (con != null) {CERLinux联盟
con.close();CERLinux联盟
}CERLinux联盟
}CERLinux联盟
return j;CERLinux联盟
}CERLinux联盟
}CERLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论