dbparamcollection.cs
来自「该项目中对 SQLHelper 类进行了简单封装」· CS 代码 · 共 157 行
CS
157 行
/*
* DbParamCollection.cs @Microsoft Visual Studio 2005 <.NET Framework 2.0>
* AfritXia
* 2007-05-06
*
* Copyright(c) http://www.AfritXia.NET/
*
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
namespace NET.AfritXia.DBUtility
{
/// <summary>
/// 数据库命令参数集合
/// </summary>
/// <typeparam name="TParam">数据库命令参数类型</typeparam>
/// <typeparam name="TType">DbType 类型</typeparam>
/// <example>
/// <![CDATA[
/// DbParamCollection<OleDbParameter, OleDbType>
/// parameters = new DbParamCollection<OleDbParameter, OleDbType>();]]>
/// </example>
public class DbParamCollection<TParam, TType> : CollectionBase
where TParam : DbParameter, new()
{
// 参数列表字典
private Dictionary<string, TParam> m_paramsDict = new Dictionary<string, TParam>();
#region 类 MyOleDbParamCollection 构造器
/// <summary>
/// 类 MyOleDbParamCollection 默认构造器
/// </summary>
public DbParamCollection()
: base()
{
}
#endregion
/// <summary>
/// 添加新的查询参数到集合中
/// </summary>
/// <param name="parameter">OleDb 查询参数对象</param>
public void Add(TParam parameter)
{
// 添加查询参数到字典
this.m_paramsDict.Add(parameter.ParameterName, parameter);
// 添加查询参数到列表
this.List.Add(parameter);
}
/// <summary>
/// 添加新的查询参数到集合
/// </summary>
/// <param name="paramName">参数名称</param>
/// <param name="dbType">数据类型</param>
/// <param name="size">大小</param>
/// <param name="direction">参数方向</param>
/// <returns>数据库命令参数对象</returns>
public TParam Add(string paramName, TType dbType, int size, ParameterDirection direction)
{
// 建立参数对象
TParam param = Activator.CreateInstance(
typeof(TParam), new object[]{ paramName, dbType, size }) as TParam;
// 设置参数方向
param.Direction = direction;
// 添加参数到集合
this.Add(param);
return param;
}
/// <summary>
/// 添加新的查询参数到集合
/// </summary>
/// <typeparam name="T">参数类型</typeparam>
/// <param name="paramName">参数名称</param>
/// <param name="dbType">数据类型</param>
/// <param name="size">大小</param>
/// <returns>数据库命令参数对象</returns>
public TParam Add(string paramName, TType dbType, int size)
{
return this.Add(paramName, dbType, size, ParameterDirection.Input);
}
/// <summary>
/// 添加新的查询参数到集合
/// </summary>
/// <param name="paramName">参数名称</param>
/// <param name="dbType">数据类型</param>
/// <returns>数据库命令参数对象</returns>
public TParam Add(string paramName, TType dbType)
{
return this.Add(paramName, dbType, -1, ParameterDirection.Input);
}
/// <summary>
/// 添加新的查询参数到集合
/// </summary>
/// <param name="paramName">参数名称</param>
/// <param name="value">参数值</param>
/// <returns>数据库命令参数对象</returns>
public TParam Add(string paramName, object value)
{
// 建立参数对象
TParam param = Activator.CreateInstance<TParam>();
// 设置参数名称
param.ParameterName = paramName;
// 设置参数值
param.Value = value;
return param;
}
/// <summary>
/// 通过索引器获取查询参数
/// </summary>
public TParam this[int index]
{
get
{
return this.List[index] as TParam;
}
}
/// <summary>
/// 通过索引器获取查询参数
/// </summary>
public TParam this[string parameterName]
{
get
{
return this.m_paramsDict[parameterName];
}
}
/// <summary>
/// 将集合转换成数组
/// </summary>
/// <returns>数据库命令参数对象数组</returns>
public TParam[] ToArray()
{
// 将集合适配成数组集合
ArrayList paramArray = ArrayList.Adapter(this.List);
// 返回数组对象
return (TParam[])(paramArray.ToArray(typeof(TParam)));
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?