ITPub博客

首页 > 数据库 > 数据库开发技术 > jsp连接sql server调用数据源方法 (转)

jsp连接sql server调用数据源方法 (转)

原创 数据库开发技术 作者:amyz 时间:2007-08-15 17:02:53 0 删除 编辑
jsp连接sql server调用数据源方法 (转)[@more@]

这人方法很简单,是JSP 调用sql SERVER数据源的,并对查询及插入做了些处理,本方法适合于初学者

/*
 * Created on 2002-8-30
 * CopyRight by http://www.designac.org
 */
package org.DesignAC.database;

import Java.sql.*;
import java.util.*;
import com.microsoft.jdbcx.sqlserver.SQLServerDatasource;
/**
 * @author Biggie
 *
 * Class Function:数据库连接bean,取SQL SERVER JDBC数据源,这个数据源也可以用
 * tomcat,webLOGIC,resin等提供
 * 支持各种容器及平台
 *  @version 1.0A
 * */
public class DBConnect {
  Host IP
 private String strHostAddress="127.0.0.1";
 file://Host Port
 private int intHostPort=1433;
 
 private String strUserName="sa";
 ">file://PassWord
 private String strPassWord="";
 file://DataBase Name
 private String strDataName="dac";
  Connection
 private int intMaxConnection=10;
 private Connection con=null;
 private Statement stmt=null;
 private ResultSet rs=null;
  source
 private SQLServerDataSource source=null;
 ArrayList ArrayRs=new ArrayList();
 /**
  * @param 构造函数注册JDBC驱动程序
  * */
 public DBConnect(){
 try{
 if(source==null){
 source=new SQLServerDataSource();
 source.setDatabaseName(strDataName);
 source.setServerName(strHostAddress);
 source.setPortNumber(intHostPort);
 source.setUser(strUserName);
 source.setPassword(strPassWord);
 file://source.setHostProcess(intMaxConnection);
 
 }
 }catch(Exception e){
 System.out.println("open database error:"+e.getMessage());
 }
 }
 /**
  * @param executeQuery查询数据库方法
  * @param 每条ArrayList记录存为String[] 数组
  * @return ArrayList
  * @exception SQLException
  */
 public ArrayList executeQuery(String strSql) throws SQLException {
 rs=null;
 try{
 con=source.getConnection();
 stmt=con.createStatement();
 rs=stmt.executeQuery(strSql);
 
 ResultSetMetaData rsmd=rs.getMetaData();
 int numberOfColumns = rsmd.getColumnCount();
 
 断是否为空
 if(!ArrayRs.isEmpty()){
 ArrayRs.clear();
 }
 /*
  * 将每条记录写入数组
  * 将数组放在ArrayList里
  */
  while(rs.next()){
   String[] strArrayTemp=new String[numberOfColumns];
   for(int i=0;i   if(rs.getobject(i+1)==null){
   strArrayTemp[i]= "";
   }else{
   strArrayTemp[i]=rs.getObject(i+1).toString();
   }
   }
   ArrayRs.add(strArrayTemp);
  }
  return (ArrayList)ArrayRs.clone();
 }catch(Exception e){
 System.out.println("query error:" + e.getMessage());
 }finally{
 if (stmt != null) {
 stmt.close();
 }
 if (con != null) {
 con.close();
 }
 }
 return ArrayRs;
 }
 /**
  * @param executeInsert插入数据方法
  * @return 插入条数是否成功(boolean)
  */
 public boolean executeInsert(String strSql) throws SQLException{
 rs=null;
 try{
 con=source.getConnection();
 stmt=con.createStatement();
 
 con.setAutoCommit(true);
 int i=stmt.executeUpdate(strSql);

 if(i==1){
 return (true);
 }
 }catch(Exception e){
 System.out.println("Insert error:"+e.getMessage());
 }finally{
 if (stmt != null) {
 stmt.close();
 }
 if (con != null) {
 con.close();
 }
 }
 return (false);
 }
 /**
  * @param executeUpdate修改数据方法
  * @return 修改数据数(int)
  */
 public int executeUpdate(String strSql) throws SQLException{
 rs=null;
 int j=0;
 try{
 con=source.getConnection();
 stmt=con.createStatement();
 con.setAutoCommit(false);
 
 j=stmt.executeUpdate(strSql);
 if(j>0){
 con.commit();
 }else{
 con.rollback();
 }
 }catch(Exception e){
 System.out.println("update error:"+e.getMessage());
 }finally{
 if (stmt != null) {
 stmt.close();
 }
 if (con != null) {
 con.close();
 }
 }
 return j;
 }
 /**
  * @param executeDelete删除数据方法
  * @return 删除数据数(int)
  */
 public int executeDelete(String strSql) throws SQLException{
 rs=null;
 int j=0;
 try{
 con=source.getConnection();
 stmt=con.createStatement();
 
 con.setAutoCommit(false);
 j=stmt.executeUpdate(strSql);
 
 if(j>0){
 con.commit();
 }else{
 con.rollback();
 }
 }catch(Exception e){
 System.out.println("Delete error:"+e.getMessage());
 }finally{
 if (stmt != null) {
 stmt.close();
 }
 if (con != null) {
 con.close();
 }
 }
 return j;
 }
}


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10752019/viewspace-958825/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    3982
  • 访问量
    7896301