分享
 
 
 

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

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

这人方法很简单,是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 {

file://You Host IP

private String strHostAddress="127.0.0.1";

file://Host Port

private int intHostPort=1433;

file://UserName

private String strUserName="sa";

file://PassWord

private String strPassWord="";

file://DataBase Name

private String strDataName="dac";

file://Max Connection

private int intMaxConnection=10;

private Connection con=null;

private Statement stmt=null;

private ResultSet rs=null;

file://JDBC 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();

file://判断是否为空

if(!ArrayRs.isEmpty()){

ArrayRs.clear();

}

/*

* 将每条记录写入数组

* 将数组放在ArrayList里

*/

while(rs.next()){

String[] strArrayTemp=new String[numberOfColumns];

for(int i=0;i<numberOfColumns;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;

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有