Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)delv
published in(发表于) 2014/1/10 6:30:16
一个操作Sql,Server,2000的公共类_[Asp.Net教程]

一个操作Sql Server 2000的公共类_[Asp.Net教程]

#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





If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759