/**
* 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;
}
}
分享到:
相关推荐
### IFIX 数据与 SQL 数据库连接详解 #### 一、SQL 设置步骤 为了实现 IFIX 与 SQL 数据库之间的连接,我们首先需要确保 SQL Server 的正常运行。以下是一些基本的配置步骤: 1. **配置管理器设置**: - 打开 ...
ASP与SQL数据库连接代码 sql数据数据库数据库连接,很实用,为建站准备
matlab与sql数据库连接,实例说明,M文件
"VB sql数据库连接通用模块"是一个可重用的组件,它允许开发者通过VB代码方便地与SQL数据库进行交互。这样的模块通常包含了连接字符串的创建、数据库的打开和关闭、SQL查询的执行以及结果集的处理等功能。 一个基本...
标题中的“sql数据库连接工具”指的是能够帮助用户与SQL(Structured Query Language)数据库进行交互的软件应用程序。这类工具通常提供图形用户界面(GUI),使得非编程背景的用户也能方便地执行SQL查询、管理...
一、SQL数据库连接基础 SQL数据库连接涉及几个关键要素:数据库服务器、数据库名、用户名、密码以及连接驱动。以下是一般的连接步骤: 1. **选择驱动**: SQL数据库支持多种驱动,如JDBC(Java Database ...
SqlDbx是一款强大的SQL数据库连接工具,专为数据库管理和开发人员设计,提供了高效、便捷的接口来访问和操作各种SQL数据库。它以其直观的用户界面和出色的数据导出功能著称,比传统的SQL Server管理工具如SQL Server...
SQL数据库连接是指通过编程或工具与SQL数据库建立通信的桥梁,以便执行查询、插入、更新或删除数据等操作。常见的SQL数据库有MySQL、PostgreSQL、Oracle和Microsoft SQL Server等。连接数据库通常需要以下关键信息:...
一、SQL数据库连接 1. 连接概念:连接是程序与数据库建立通信的过程,通过连接,程序可以发送查询、更新或删除等指令给数据库,并接收返回的结果。 2. 连接参数:连接通常需要提供数据库服务器的地址(IP或域名)...
在这个“DataSql数据库连接”教程中,我们将深入探讨如何有效地使用SQL(Structured Query Language)来访问和管理数据库。 SQL是标准的关系型数据库查询语言,用于创建、修改和查询数据库。它包括多种语句,如...
SQL数据库连接主要是通过特定的API(应用程序编程接口)或驱动程序来实现的。这些接口允许应用程序与数据库管理系统交互,执行查询、插入、更新和删除等操作。常见的数据库系统如MySQL、PostgreSQL、Oracle和SQL ...
在详细介绍ASP与SQL数据库连接实现之前,需要先了解ASP与SQL的基本概念。ASP是由Microsoft公司开发的服务器端脚本环境,可以用来创建和运行动态网页或Web应用程序。它不是一种编程语言,而是一种技术,使得开发者...
- 在XML文件中,找到`<connectionStrings>`标签,这里可以添加数据库连接信息。 4. **配置连接字符串** - 连接字符串通常包含以下信息:数据库服务器名称、数据库名称、用户名和密码。示例: ``` ;Initial ...
在SQL数据库连接的知识中,了解如何与SQL Server建立连接是至关重要的。SQL Server 2000客户端通过一系列API(应用程序编程接口)、对象库和协议与服务器交互。这些技术允许不同类型的程序和应用访问和操作数据库。...
《C#.NET 实例:图书管理系统与SQL数据库连接详解》 C#.NET 是微软公司推出的一种面向对象的编程语言,广泛应用于开发各种Windows应用程序。在本实例中,我们聚焦于利用C#.NET环境,特别是在Visual Studio 2008集成...
postgres 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 / ...
**HeidiSQL数据库连接软件详解** HeidiSQL是一款轻量级、高效且用户友好的数据库管理工具,尤其适合于MySQL、MariaDB、SQL Server、PostgreSQL和Oracle等数据库的管理和维护。这款软件以其简洁的界面和强大的功能在...
在IT行业中,数据库连接是应用程序与数据存储交互的基础。这里我们关注的是Java语言与SQL数据库的连接,这是许多企业级应用开发的核心技术。本压缩包"sql.rar"中包含的相关知识点主要围绕Java如何通过JDBC(Java ...
无论采用哪种连接方式,在连接成功后,都需要检查连接状态,确保数据库连接可用。以下是连接状态判断的代码片段: ```vb If Conn.State = 2 Then Response.Write("正在连接") ElseIf Conn.State = 1 Then ...