#region Copyright (c) 2005, By Sirius
/*================================================================
*
* Copyright (c) 2006, Sirius, All rights reserved.
*
* FileName : DBedit.cs
* Author : Sirius
* CreateDate : 2006/04/25
* ChangeDate :
*
=================================================================*/
#endregion
/*
* 重要说明:本类只适用于BS,结合ASP.NET使用
* 功能说明:
* 方法名称 功能 返回类型
* ——————————————————————————–
* ExecuteString – 执行Transcat-SQL字符串 – void
* ExecuteNonQuery – 执行存储过程 – void
* ExecuteDataTalbe – 执行存储过程 – DatTable
* ExecuteSqlDataReader – 执行存储过程 – SqlDataReader
* DataTablePrepare – 填充数据表 – DataTable
* DataSetPrepare – 填充数据集 – DataSet
* CommandPrepare – 初始化SqlCommand对象 – void
* CommandDispose – 释放SqlCommand对象 – void
* ——————————————————————————–
*/
namespace DBedit
{
using System;
using System.Data;
using System.Data.SqlClient;
///
/// 名字:DBedit
/// 类型:继承类
/// 功能:数据库连接、操作
class DBedit : DBbase
{
private SqlConnection con;
private SqlCommand com;
///
/// 名称:DBblog
/// 类型:析构
/// 功能:使用SQL连接字符串初始化
///
public DBedit()
{
this.con = new SqlConnection();
this.com = new SqlCommand();
this.con.ConnectionString = this.connectionString;
}
///
/// 名称:DBblog
/// 类型:析构
/// 功能:释放资源
///
~ DBedit()
{
if(this.com != null)
{
this.com.Dispose();
}
if(this.con.State == ConnectionState.Open)
{
this.con.Close();
}
}
#region ———– ExecuteString ———–
///
/// 名称:ExecuteString
/// 类型:实例方法
/// 功能:执行SQL命令字符串
///
/// SQL命令字符串
public void ExecuteStringA(string cmdText)
{
this.CommandPrepare(this.com, cmdText);
this.con.Open();
this.com.ExecuteNonQuery();
this.con.Close();
}
///
/// 名称:ExecuteString
/// 类型:实例方法
/// 功能:执行SQL命令字符串,向指定数据表填充数据
///
/// SQL命令字符串
/// 需要填充的数据表
public void ExecuteStringA(string cmdText, DataTable dt)
{
dt = this.ExecuteStringB(cmdText);
}
///
/// 名称:ExecuteString
/// 类型:实例方法
/// 功能:执行SQL命令字符串,向指定数据集填充数据
///
/// SQL命令字符串
/// 需要填充的数据集
public void ExecuteStringA(string cmdText, DataSet ds)
{
ds = this.ExecuteStringC(cmdText);
}
///
/// 名称:ExecuteString
/// 类型:实例方法
/// 功能:执行SQL命令字符串,返回数据表
///
/// SQL命令字符串
/// 已填充数据的数据表
public DataTable ExecuteStringB(string cmdText)
{
return this.ExecuteDataTalbe(cmdText);
}
///
/// 名称:ExecuteString
/// 类型:实例方法
/// 功能:执行SQL命令字符串,返回数据集
///
/// SQL命令字符串
/// 已填充数据的数据集
public DataSet ExecuteStringC(string cmdText)
{
return this.ExecuteDataSet(cmdText);
}
#endregion
#region ———– ExecuteNonQuery ———–
///
/// 名称:ExecuteNonQuery
/// 类型:实例方法
/// 功能:执行存储过程
///
/// 存储过程名
/// 存储过程参数数组
public void ExecuteNonQuery(string procedureName, SqlParameter para)
{
SqlParameter[] paras = new SqlParameter[1] { para };
this.ExecuteNonQuery(procedureName, paras);
}
///
/// 名称:ExecuteNonQuery
/// 类型:实例方法
/// 功能:执行存储过程
///
/// 存储过程名
/// 存储过程参数数组
public void ExecuteNonQuery(string procedureName, SqlParameter[] paras)
{
this.CommandPrepare(this.com, procedureName, paras);
this.con.Open();
this.com.ExecuteNonQuery();
this.con.Close();
this.CommandDispose(this.com);
}
///
/// 名称:ExecuteNonQuery
/// 类型:实例方法
/// 功能:执行SQL命令字符串
///
/// 存储过程名
/// 参数数组
/// 预填充数据的数据表
public void ExecuteNonQuery(string procedureName, SqlParameter[] paras, DataTable dt)
{
dt = this.ExecuteDataTalbe(procedureName, paras);
}
///
/// 名称:ExecuteNonQuery
/// 类型:实例方法
/// 功能:执行SQL命令字符串
///
/// 存储过程名
/// 参数数组
/// 预填充数据的数据集
public void ExecuteNonQuery(string procedureName, SqlParameter[] paras, DataSet ds)
{
ds = this.ExecuteDataSet(procedureName, paras);
}
#endregion
#region ———– ExecuteDataTalbe ———–
///
/// 名称:ExecuteDataTalbe
/// 类型:实例方法
/// 功能:执行SQL命令字符串,返回数据表
///
/// SQL命令字符串
/// 数据表
public DataTable ExecuteDataTalbe(string cmdText)
{
this.CommandPrepare(this.com, cmdText);
return this.DataTablePrepare(this.com);
}
///
/// 名称:ExecuteDataTalbe
/// 类型:实例方法
/// 功能:执行SQL命令字符串,返回数据表
///
/// 存储过程名
/// 存储过程参数
/// 数据表
public DataTable ExecuteDataTalbe(string procedureName, SqlParameter para)
{
this.CommandPrepare(this.com, procedureName, para);
return this.DataTablePrepare(this.com);
}
///
/// 名称:ExecuteDataTalbe
/// 类型:实例方法
/// 功能:执行SQL命令字符串,返回数据表
///
/// 存储过程名
/// 存储过程参数数组
/// 数据表
public DataTable ExecuteDataTalbe(string procedureName, SqlParameter[] paras)
{
this.CommandPrepare(this.com, procedureName, paras);
return this.DataTablePrepare(this.com);
}
#endregion
#region ———– ExecuteDataSet ———–
///
/// 名称:TeamConstructExecB
/// 类型:实例方法
/// 功能:执行SQL命令字符串,返回数据表
///
/// SQL命令字符串
/// 数据表
public DataSet ExecuteDataSet(string cmdText)
{
this.CommandPrepare(this.com, cmdText);
return this.DataSetPrepare(this.com);
}
///
/// 名称:TeamConstructExecD
/// 类型:实例方法
/// 功能:执行SQL命令字符串,返回数据
///
/// SQL命令字符串
public DataSet ExecuteDataSet(string procedureName, SqlParameter para)
{
this.CommandPrepare(this.com, procedureName, para);
return this.DataSetPrepare(this.com);
}
///
/// 名称:TeamConstructExecD
/// 类型:实例方法
/// 功能:执行SQL命令字符串,返回数据
///
/// SQL命令字符串
public DataSet ExecuteDataSet(string procedureName, SqlParameter[] paras)
{
this.CommandPrepare(this.com, procedureName, paras);
return this.DataSetPrepare(this.com);
}
#endregion
#region ———– ExecuteSqlDataReader ———–
///
/// 名称:TeamConstructExecE
/// 类型:实例方法
/// 功能:执行SQL命令字符串
///
/// 存储过程名
/// 存储过程参数
///
public SqlDataReader ExecuteSqlDataReader(string procedureName, SqlParameter para)
{
this.CommandPrepare(this.com, procedureName, para);
this.con.Open();
return this.com.ExecuteReader();
}
///
/// 名称:TeamConstructExecE
/// 类型:实例方法
/// 功能:执行SQL命令字符串
///
/// 存储过程名
/// 存储过程参数
///
public SqlDataReader ExecuteSqlDataReader(string procedureName, SqlParameter[] paras)
{
this.CommandPrepare(this.com, procedureName, paras);
this.con.Open();
return this.com.ExecuteReader();
}
#endregion
#region ———– Data Prepare ———–
///
/// 名称:DataTablePrepare
/// 类型:实例方法
/// 功能:填充数据表
///
/// 已初始化的SqlCommand对象
/// 填充过数据的数据表
public DataTable DataTablePrepare(SqlCommand com)
{
DataTable dt = new DataTable();
using (SqlDataAdapter da = new SqlDataAdapter(com))
{
da.Fill(dt);
}
return dt;
}
///
/// 名称:DataSetPrepare
/// 类型:实例方法
/// 功能:填充数据集
///
/// 已初始化的SqlCommand对象
/// 填充过数据的数据集
public DataSet DataSetPrepare(SqlCommand com)
{
DataSet ds = new DataSet();
using (SqlDataAdapter da = new SqlDataAdapter(com))
{
da.Fill(ds);
}
return ds;
}
#endregion
#region ———– Command Prepare ———–
///
/// 名称:CommandPrepare
/// 类型:实例方法
/// 功能:设置SqlCommand的CommandType属性,赋予对象参数
///
/// 预设置SqlCommand对象
/// Transcat – SQL字符串
public void CommandPrepare(SqlCommand com, string cmdText)
{
com.Connection = this.con;
com.CommandTimeout = 15;
com.CommandType = CommandType.Text;
com.CommandText = cmdText;
}
///
/// 名称:ParameterPrepare
/// 类型:实例方法
/// 功能:设置SqlCommand的CommandType属性,赋予对象参数
///
/// 预设置SqlCommand对象
/// 预赋予参数
public void CommandPrepare(SqlCommand com, string procedureName, SqlParameter para)
{
com.Connection = this.con;
com.CommandTimeout = 15;
com.CommandType = CommandType.StoredProcedure;
com.CommandText = procedureName;
com.Parameters.Clear();
if(para != null)
{
com.Parameters.Add(para);
}
}
///
/// 名称:ParameterPrepare
/// 类型:实例方法
/// 功能:设置SqlCommand的CommandType属性,赋予对象参数
///
/// 预赋予参数的SqlCommand对象
/// 预赋予参数数组
public void CommandPrepare(SqlCommand com, string procedureName, params SqlParameter[] paras)
{
com.Connection = this.con;
com.CommandTimeout = 15;
com.CommandType = CommandType.StoredProcedure;
com.CommandText = procedureName;
com.Parameters.Clear();
foreach(SqlParameter para in paras)
{
com.Parameters.Add(para);
}
}
///
/// 名称:CommandDispose
/// 类型:实例方法
/// 功能:清空SqlCommand对象参数
///
/// 预清空参数的SqlCommand对象
public void CommandDispose(SqlCommand com)
{
if(com.Parameters.Count > 0)
{
com.Parameters.Clear();
}
com.Dispose();
}
#endregion
}
///
/// 名字:DBbase
/// 类型:基类
/// 功能:提供继承连接属性
///
public class DBbase
{
///
/// 名字:connectionString
/// 类型:属性
/// 功能:从Web.config文件获取连接数据库字符串
///
public string connectionString
{
get
{
return System.Configuration.ConfigurationSettings.AppSettings["SiteSqlServer"];
}
}
}
}
来源:Csdn