我需要连接SQLserver 在网上查了这段代码,可看不懂呀? 连接SQLServer 总应该有地方输入账号、密码与要连接的数据库吧?
package com.db.DataSqlserver;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource; public class DataSqlserver {
private Connection m_conn=null;
private Statement m_stmt=null;
private boolean isAutoCommit;
public DataSqlserver() throws Exception
{
try
{
Context initCtx=new InitialContext();
Context envCtx=(Context)initCtx.lookup("java:comp/env");
DataSource ds=(DataSource)envCtx.lookup("jdbc/SqlServer");
m_conn=ds.getConnection();
initCtx.close();
envCtx.close();
}
catch(Exception ex)
{
ex.printStackTrace();
System.out.println("数据库连接错误!");
throw ex;
}
}
public void close() throws SQLException
{
try
{
if(m_stmt !=null) m_stmt.close();
if(m_conn !=null) m_conn.close();
}
catch(SQLException ex)
{
ex.printStackTrace();
System.out.println("数据库关闭错误!");
throw ex;
}
}
public ResultSet executeQuery1(String sql) throws SQLException
{
try
{
m_stmt=m_conn.createStatement();
return m_stmt.executeQuery(sql);
}
catch(SQLException ex)
{
ex.printStackTrace();
System.out.println("执行SQL:'"+sql+"' 错误! '");
System.out.println(ex.toString());
System.out.println(ex.getMessage());
throw ex;
}
}
public ResultSet executeQuery2(String sql) throws SQLException
{
try
{
m_stmt=m_conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
return m_stmt.executeQuery(sql);
}
catch(SQLException ex)
{
ex.printStackTrace();
System.out.println("执行SQL:'"+sql+"' 错误!'");
System.out.println(ex.toString());
System.out.println(ex.getMessage());
throw ex;
}
}
public int executeUpdate(String sql) throws SQLException
{
try
{
Statement stmt=m_conn.createStatement();
int rt=stmt.executeUpdate(sql);
stmt.close();
return rt;
}
catch(SQLException ex)
{
ex.printStackTrace();
System.out.println("执行SQL:'"+sql+"' 错误'");
System.out.println(ex.toString());
System.out.println(ex.getMessage());
throw ex;
}
}
// 开始新事务
public void beginTrans() throws SQLException
{
try
{
isAutoCommit=m_conn.getAutoCommit(); // 获得当前自动提交状态
m_conn.setAutoCommit(false);// 禁止自动提交
}
catch(SQLException ex)
{
ex.printStackTrace();
System.out.println("开始新事务错误!");
throw ex;
}
} // 保存任何更改并结束当前事务。它也可能启动新事务
public void commitTrans() throws SQLException
{
try
{
m_conn.commit();
m_conn.setAutoCommit(isAutoCommit);
}
catch(SQLException ex)
{
ex.printStackTrace();
System.out.println("更改当前事务错误!");
throw ex;
}
}
// 取消当前事务中所作的任何更改并结束事务。它也可能启动新事务。
public void rollbackTrans() throws SQLException
{
try
{
m_conn.rollback();
m_conn.setAutoCommit(isAutoCommit);
}
catch(SQLException ex)
{
ex.printStackTrace();
System.out.println("取消当前事务错误!");
throw ex;
}
}
}
package com.db.DataSqlserver;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource; public class DataSqlserver {
private Connection m_conn=null;
private Statement m_stmt=null;
private boolean isAutoCommit;
public DataSqlserver() throws Exception
{
try
{
Context initCtx=new InitialContext();
Context envCtx=(Context)initCtx.lookup("java:comp/env");
DataSource ds=(DataSource)envCtx.lookup("jdbc/SqlServer");
m_conn=ds.getConnection();
initCtx.close();
envCtx.close();
}
catch(Exception ex)
{
ex.printStackTrace();
System.out.println("数据库连接错误!");
throw ex;
}
}
public void close() throws SQLException
{
try
{
if(m_stmt !=null) m_stmt.close();
if(m_conn !=null) m_conn.close();
}
catch(SQLException ex)
{
ex.printStackTrace();
System.out.println("数据库关闭错误!");
throw ex;
}
}
public ResultSet executeQuery1(String sql) throws SQLException
{
try
{
m_stmt=m_conn.createStatement();
return m_stmt.executeQuery(sql);
}
catch(SQLException ex)
{
ex.printStackTrace();
System.out.println("执行SQL:'"+sql+"' 错误! '");
System.out.println(ex.toString());
System.out.println(ex.getMessage());
throw ex;
}
}
public ResultSet executeQuery2(String sql) throws SQLException
{
try
{
m_stmt=m_conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
return m_stmt.executeQuery(sql);
}
catch(SQLException ex)
{
ex.printStackTrace();
System.out.println("执行SQL:'"+sql+"' 错误!'");
System.out.println(ex.toString());
System.out.println(ex.getMessage());
throw ex;
}
}
public int executeUpdate(String sql) throws SQLException
{
try
{
Statement stmt=m_conn.createStatement();
int rt=stmt.executeUpdate(sql);
stmt.close();
return rt;
}
catch(SQLException ex)
{
ex.printStackTrace();
System.out.println("执行SQL:'"+sql+"' 错误'");
System.out.println(ex.toString());
System.out.println(ex.getMessage());
throw ex;
}
}
// 开始新事务
public void beginTrans() throws SQLException
{
try
{
isAutoCommit=m_conn.getAutoCommit(); // 获得当前自动提交状态
m_conn.setAutoCommit(false);// 禁止自动提交
}
catch(SQLException ex)
{
ex.printStackTrace();
System.out.println("开始新事务错误!");
throw ex;
}
} // 保存任何更改并结束当前事务。它也可能启动新事务
public void commitTrans() throws SQLException
{
try
{
m_conn.commit();
m_conn.setAutoCommit(isAutoCommit);
}
catch(SQLException ex)
{
ex.printStackTrace();
System.out.println("更改当前事务错误!");
throw ex;
}
}
// 取消当前事务中所作的任何更改并结束事务。它也可能启动新事务。
public void rollbackTrans() throws SQLException
{
try
{
m_conn.rollback();
m_conn.setAutoCommit(isAutoCommit);
}
catch(SQLException ex)
{
ex.printStackTrace();
System.out.println("取消当前事务错误!");
throw ex;
}
}
}
楼主【IPvECMS】截止到2008-07-17 19:06:28的历史汇总数据(不包括此帖):
发帖的总数量:4 发帖的总分数:160 每贴平均分数:40
回帖的总数量:2 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:1 结贴的总分数:20
无满意结贴数:0 无满意结贴分:0
未结的帖子数:3 未结的总分数:140
结贴的百分比:25.00 % 结分的百分比:12.50 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主该结一些帖子了
DataSource ds=(DataSource)envCtx.lookup("jdbc/SqlServer"); [/color]
用了连接池的jndi技术
Context envCtx=(Context)initCtx.lookup("java:comp/env");
DataSource ds=(DataSource)envCtx.lookup("jdbc/SqlServer");
m_conn=ds.getConnection();
initCtx.close();
envCtx.close(); 这一段...我现在需要连接到temp数据库 账号是sa 密码是sa 怎么利用这个类呢?
web.xml??
还是别的什么?