/**
* Create Date: 2007-1-7 上午08:40:13
* Create Author: Vniceboy
* Email: Vniceboy@163.com
* Company: Hsd zipper
*/
package DB;
import java.sql.*;
/**
* <p>
* 该类用于数据库的连接和SQL语句的执行
* </p>
*
* @author vniceboy
* @version 1.0
* @inheritDoc DB.java
* @see java.sql.Connection
* @see java.sql.ResultSet
* @see java.sql.Statement
*/
public class DB {
// 定义数据库连接字符串,jdbc.odbc桥
private final String sJdbcOdbcDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
// 定义数据库连接字符串, SQL连接
private final String sSqlServerDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private Connection conn = null;
private Statement stmt = null;
public ResultSet rs = null;
/**
* <p>
* 连接数据库: ODBC连接 SQLSERVER连接
* </p>
*
* @throws Exception
*/
// 数据库连接
public boolean getConnection(final String sOdbcServer) {
try {
// 加载ODBC驱动器
Class.forName(sJdbcOdbcDriver);
// 建立连接
conn = DriverManager.getConnection("jdbc:odbc:" + sOdbcServer);
// 关闭自动提交
conn.setAutoCommit(false);
// 设定事务级别
conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
// 创建一个JDBC声明
stmt = conn.createStatement();
System.out.println("jdbc:odbc:" + sOdbcServer + " 连接成功");
return true;
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
return false;
}
}
public boolean getConnection(String sSqlServer, String sUserName,
final String sPassWord) {
if (sSqlServer.equals("") || sSqlServer == null) {
sSqlServer = "127.0.0.1";
}
if (sUserName.equals("") || sUserName == null) {
sUserName = "sa";
}
try {
// 加载SQLDRIVER驱动器
Class.forName(sSqlServerDriver);
// 建立连接
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://"
+ sSqlServer + ":1433", sUserName, sPassWord);
// 关闭自动提交
conn.setAutoCommit(false);
// 设定事务级别
conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
// 创建一个JDBC声明
stmt = conn.createStatement();
System.out.println("SQLSERVER 连接成功");
return true;
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
return false;
}
}
public boolean getConnection(String sSqlServer, String sDataBaseName,
String sUserName, final String sPassWord) {
if (sSqlServer.equals("") || sSqlServer == null) {
sSqlServer = "127.0.0.1";
}
if (sUserName.equals("") || sUserName == null) {
sUserName = "sa";
}
if (sDataBaseName != null && !sDataBaseName.equals("")) {
sDataBaseName = ";DatabaseName=" + sDataBaseName;
}
try {
// 加载SQLDRIVER驱动器
Class.forName(sSqlServerDriver);
// 建立连接
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://"
+ sSqlServer + ":1433" + sDataBaseName, sUserName,
sPassWord);
// 关闭自动提交
conn.setAutoCommit(false);
// 设定事务级别
conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
// 创建一个JDBC声明
stmt = conn.createStatement();
System.out.println("SQLSERVER:[" + sSqlServer + "] 连接成功");
return true;
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
return false;
}
}
/**
* <p>
* 关闭数据连接
* </p>
*
* @throws SQLException
* @see main(String[])
*/
public void closeDB() {
try {
// Connection success
if (conn != null) {
// 在系统连接关闭之前,
// 将所有未能及时提交的事务释放
conn.commit();
// 解除事务操作
conn.setAutoCommit(true);
// 关闭连接
if (!conn.isClosed())
conn.close();
}
} catch (SQLException se) {
System.out.println(se.getMessage());
se.printStackTrace();
}
}
/**
* <p>
* 获取服务器端系统时间
* </p>
*
* @return 时间字符串,格式形如"yyyy-mm-dd HH-MM" 查询出错返回null值
*/
public String getSysDate() {
String sSQL = "SELECT SUBSTRING(CONVERT(VARCHAR(16),GETDATE(),120),1,16) AS SYSDATE";
try {
rs = stmt.executeQuery(sSQL);
while (rs.next()) {
return (rs.getString("SYSDATE"));
}
} catch (SQLException se) {
System.out.println(se.getMessage());
se.printStackTrace();
}
return null;
}
/**
* <p>
* 执行查询数据库的SQL语句
* </p>
*
* @param sql-要执行的SQL查询语句
* @return 查询成功返回true,失败返回false
* @see db.java
*/
public boolean execQuery(String sql) {
try {
rs = stmt.executeQuery(sql);
System.out.println(sql + " 执行成功");
return true;
} catch (SQLException se) {
System.out.println(se.getMessage());
se.printStackTrace();
}
return false;
}
/**
* <p>
* 执行更新数据库操作的SQL语句
* </p>
* SQL语句为INSERT,DELETE,UPDATE等更新操作
*
* @param sql-传入的待执行的SQL语句
* @return int-操作成功时返回记录号,否则返回0表示操作不成功
* @see db.java
*/
public int execUpdate(String sql) {
try {
int i = stmt.executeUpdate(sql);
conn.commit();
System.out.println(sql + " 执行成功");
return i;
} catch (SQLException se) {
System.out.println(se.getMessage());
se.printStackTrace();
try {
conn.rollback();
} catch (SQLException s) {
System.out.println(s.getMessage());
s.printStackTrace();
}
}
return 0;
}
}
分享到:
相关推荐
ASP与SQL数据库连接代码 sql数据数据库数据库连接,很实用,为建站准备
matlab与sql数据库连接,实例说明,M文件
VS+SQL数据库连接.这个连接是最简单的了!
VB sql数据库连接通用模块 sql连接模块
sql数据库连接方法 sql数据库连接方法 sql数据库连接方法
SQL数据库连接和操作
连接字符串官方文档:SQL Server,SQL Server 2005,ACCESS,Oracle,MySQL,Interbase,IBM DB2,Sybase,Informix,Ingres,Mimer SQL,Lightbase,PostgreSQL,Paradox,DNS,Firebird,Excel ,Text,DBF / ...
Delphi SQL数据库连接Demo,采用ADO连接方式连接。
DataSql数据库连接,多样教程,十分实用
sql数据库连接方法(返回dataset,datatable,datareader)
有关SQL数据库连接的DEMO,关于数据库和XML文件方面的!
heidisql数据库连接软件
ASP连接SQL2005数据库连接代码
sql数据库连接说明书1
两种方式连接sql数据库,控制台和MFC。 创建ODBC数据源,采用ADO接口方式。 方便,简单,一学就会。
需要用到IFIX2DB工具,自动在sql数据库中建立与ifix对应的数据表,并实时储存数据
Access和SQL数据库连接,里面写怎样连接不同的数据库
sql 数据库连接方法简介,详细介绍,实例,适宜初学者
外文翻译 SQL数据库连接知识 毕业设计
java + SQL数据库连接池!!!!!!!!!!!!!的应用!!!!