customsqlhelper.cs
来自「该项目中对 SQLHelper 类进行了简单封装」· CS 代码 · 共 322 行
CS
322 行
/*
* CustomSQLHelper.cs @Microsoft Visual Studio 2008 <.NET Framework 3.5>
* AfritXia
* 2007-05-03
*
* Copyright(c) http://www.AfritXia.NET/
*
*/
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Xml;
using NET.AfritXia.MyHome.Model.Message;
using NET.AfritXia.DBUtility;
namespace NET.AfritXia.MyHome.DBTask.Access2000
{
/// <summary>
/// 自定义查询帮助类
/// </summary>
internal class CustomSQLHelper
{
// 建立查询帮助类
private static SQLHelper g_sqlHelper = null;
#region 类 CustomSQLHelper 构造器
/// <summary>
/// 类 CustomSQLHelper 静态构造器
/// </summary>
static CustomSQLHelper()
{
lock (typeof(CustomSQLHelper))
{
SQLHelperFactory factory = null;
// 创建 SQLHelper 工厂
factory = new SQLHelperFactory();
// 设置 ORM 字典供应者
factory.OrmDictionaryProvider = new CustomOrmDictionaryProvider();
g_sqlHelper = factory.Create();
}
}
#endregion
/// <summary>
/// 执行 SQL 查询,包括插入、更新、删除语句
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <param name="cmdType">查询命令类型</param>
/// <param name="dbParams">参数列表</param>
/// <param name="oleDbConn">此次查询所使用的数据库联接</param>
/// <param name="oleDbTran">此次查询所使用的数据库事务</param>
/// <returns>查询所影响的行数</returns>
public static int ExecuteNoneQuery(string cmdText, CommandType cmdType, OleDbParameter[] dbParams,
OleDbConnection oleDbConn, OleDbTransaction oleDbTran)
{
if (oleDbConn == null)
oleDbConn = ConnectionFactory.CreateConnection();
return g_sqlHelper.ExecuteNoneQuery(cmdText, cmdType, dbParams, oleDbConn, oleDbTran);
}
/// <summary>
/// 执行 SQL 查询,包括插入、更新、删除语句
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <param name="dbParams">参数列表</param>
/// <param name="oleDbConn">此次查询所使用的数据库联接</param>
/// <param name="oleDbTran">此次查询所使用的数据库事务</param>
/// <returns>查询所影响的行数</returns>
public static int ExecuteNoneQuery(string cmdText, OleDbParameter[] dbParams,
OleDbConnection oleDbConn, OleDbTransaction oleDbTran)
{
return ExecuteNoneQuery(cmdText, CommandType.Text, dbParams, oleDbConn, oleDbTran);
}
/// <summary>
/// 执行 SQL 查询,包括插入、更新、删除语句
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <param name="oleDbConn">此次查询所使用的数据库联接</param>
/// <param name="oleDbTran">此次查询所使用的数据库事务</param>
/// <returns>查询所影响的行数</returns>
public static int ExecuteNoneQuery(string cmdText, OleDbConnection oleDbConn, OleDbTransaction oleDbTran)
{
return ExecuteNoneQuery(cmdText, CommandType.Text, null, oleDbConn, oleDbTran);
}
/// <summary>
/// 执行 SQL 查询,包括插入、更新、删除语句
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <param name="cmdType">查询命令类型</param>
/// <param name="dbParams">参数列表</param>
/// <returns>查询所影响的行数</returns>
public static int ExecuteNoneQuery(string cmdText, CommandType cmdType, OleDbParameter[] dbParams)
{
return ExecuteNoneQuery(cmdText, cmdType, dbParams, null, null);
}
/// <summary>
/// 执行 SQL 查询,包括插入、更新、删除语句
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <param name="dbParams">参数列表</param>
/// <returns>查询所影响的行数</returns>
public static int ExecuteNoneQuery(string cmdText, OleDbParameter[] dbParams)
{
return ExecuteNoneQuery(cmdText, CommandType.Text, dbParams, null, null);
}
/// <summary>
/// 执行 SQL 查询,包括插入、更新、删除语句
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <returns>查询所影响的行数</returns>
public static int ExecuteNoneQuery(string cmdText)
{
return ExecuteNoneQuery(cmdText, CommandType.Text, null, null, null);
}
/// <summary>
/// 执行 SQL 查询
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <param name="dbParams">参数列表</param>
/// <param name="cmdType">查询命令类型</param>
/// <param name="oleDbConn">此次查询所使用的数据库联接</param>
/// <param name="oleDbTran">此次查询所使用的数据库事务</param>
/// <returns>返回查询阅读器</returns>
public static OleDbDataReader ExecuteReader(string cmdText, CommandType cmdType, OleDbParameter[] dbParams,
OleDbConnection oleDbConn, OleDbTransaction oleDbTran)
{
if (oleDbConn == null)
oleDbConn = ConnectionFactory.CreateConnection();
return g_sqlHelper.ExecuteReader(cmdText, cmdType, dbParams, oleDbConn, oleDbTran) as OleDbDataReader;
}
/// <summary>
/// 执行 SQL 查询
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <param name="dbParams">参数列表</param>
/// <param name="oleDbConn">此次查询所使用的数据库联接</param>
/// <param name="oleDbTran">此次查询所使用的数据库事务</param>
/// <returns>返回查询阅读器</returns>
public static OleDbDataReader ExecuteReader(string cmdText, OleDbParameter[] dbParams,
OleDbConnection oleDbConn, OleDbTransaction oleDbTran)
{
return ExecuteReader(cmdText, CommandType.Text, dbParams, oleDbConn, oleDbTran);
}
/// <summary>
/// 执行 SQL 查询
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <param name="oleDbConn">此次查询所使用的数据库联接</param>
/// <param name="oleDbTran">此次查询所使用的数据库事务</param>
/// <returns>返回查询阅读器</returns>
public static OleDbDataReader ExecuteReader(string cmdText, OleDbConnection oleDbConn, OleDbTransaction oleDbTran)
{
return ExecuteReader(cmdText, CommandType.Text, null, oleDbConn, oleDbTran);
}
/// <summary>
/// 执行 SQL 查询
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <param name="cmdType">查询命令类型</param>
/// <param name="dbParams">参数列表</param>
/// <returns>返回查询阅读器</returns>
public static OleDbDataReader ExecuteReader(string cmdText, CommandType cmdType, OleDbParameter[] dbParams)
{
return ExecuteReader(cmdText, cmdType, dbParams, null, null);
}
/// <summary>
/// 执行 SQL 查询
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <param name="dbParams">参数列表</param>
/// <returns>返回查询阅读器</returns>
public static OleDbDataReader ExecuteReader(string cmdText, OleDbParameter[] dbParams)
{
return ExecuteReader(cmdText, CommandType.Text, dbParams, null, null);
}
/// <summary>
/// 执行 SQL 查询
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <returns>返回查询阅读器</returns>
public static OleDbDataReader ExecuteReader(string cmdText)
{
return ExecuteReader(cmdText, CommandType.Text, null, null, null);
}
/// <summary>
/// 执行 SQL 查询,返回查询结果的第一行的第一列,忽略其它行和列
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <param name="cmdType">查询命令类型</param>
/// <param name="dbParams">参数列表</param>
/// <param name="oleDbConn">此次查询所使用的数据库联接</param>
/// <param name="oleDbTran">此次查询所使用的数据库事务</param>
/// <returns></returns>
public static object ExecuteScalar(string cmdText, CommandType cmdType, OleDbParameter[] dbParams,
OleDbConnection oleDbConn, OleDbTransaction oleDbTran)
{
if (oleDbConn == null)
oleDbConn = ConnectionFactory.CreateConnection();
return g_sqlHelper.ExecuteScalar(cmdText, cmdType, dbParams, oleDbConn, oleDbTran);
}
/// <summary>
/// 执行 SQL 查询,返回查询结果的第一行的第一列,忽略其它行和列
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <param name="dbParams">参数列表</param>
/// <param name="oleDbConn">此次查询所使用的数据库联接</param>
/// <param name="oleDbTran">此次查询所使用的数据库事务</param>
/// <returns></returns>
public static object ExecuteScalar(string cmdText, OleDbParameter[] dbParams,
OleDbConnection oleDbConn, OleDbTransaction oleDbTran)
{
return ExecuteScalar(cmdText, CommandType.Text, dbParams, oleDbConn, oleDbTran);
}
/// <summary>
/// 执行 SQL 查询,返回查询结果的第一行的第一列,忽略其它行和列
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <param name="oleDbConn">此次查询所使用的数据库联接</param>
/// <param name="oleDbTran">此次查询所使用的数据库事务</param>
/// <returns></returns>
public static object ExecuteScalar(string cmdText, OleDbConnection oleDbConn, OleDbTransaction oleDbTran)
{
return ExecuteScalar(cmdText, CommandType.Text, null, oleDbConn, oleDbTran);
}
/// <summary>
/// 执行 SQL 查询,返回查询结果的第一行的第一列,忽略其它行和列
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <param name="cmdType">查询命令类型</param>
/// <param name="dbParams">参数列表</param>
/// <returns></returns>
public static object ExecuteScalar(string cmdText, CommandType cmdType, OleDbParameter[] dbParams)
{
return ExecuteScalar(cmdText, cmdType, dbParams, null, null);
}
/// <summary>
/// 执行 SQL 查询,返回查询结果的第一行的第一列,忽略其它行和列
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <param name="dbParams">参数列表</param>
/// <returns></returns>
public static object ExecuteScalar(string cmdText, OleDbParameter[] dbParams)
{
return ExecuteScalar(cmdText, CommandType.Text, dbParams, null, null);
}
/// <summary>
/// 执行 SQL 查询,返回查询结果的第一行的第一列,忽略其它行和列
/// </summary>
/// <param name="cmdText">查询命令</param>
/// <returns></returns>
public static object ExecuteScalar(string cmdText)
{
return ExecuteScalar(cmdText, CommandType.Text, null, null, null);
}
/// <summary>
/// 从数据源中读取数据,并建立一个新的对象
/// </summary>
/// <typeparam name="T">对象类型模板</typeparam>
/// <param name="dr">数据源</param>
/// <returns></returns>
public static T CreateObject<T>(OleDbDataReader dr)
{
return g_sqlHelper.CreateObject<T>(dr);
}
/// <summary>
/// 从数据源中读取数据,并设置到对象属性
/// </summary>
/// <param name="obj">所要设置的对象实例</param>
/// <param name="dr">数据源</param>
public static void PutObjectProperties(object obj, OleDbDataReader dr)
{
g_sqlHelper.PutObjectProperties(obj, dr);
}
/// <summary>自定义字典供应者类</summary>
private class CustomOrmDictionaryProvider : IOrmDictionaryProvider
{
#region IOrmDictionaryProvider 成员
public XmlDocument GetXmlDictionary(Type type)
{
XmlDocument xmlDoc = new XmlDocument();
if (type == typeof(LWord))
xmlDoc.LoadXml(MyResources.LWordOrmDictionary);
else if (type == typeof(Article))
xmlDoc.LoadXml(MyResources.ArticleOrmDictionary);
else if (type == typeof(Comment))
xmlDoc.LoadXml(MyResources.CommentOrmDictionary);
return xmlDoc;
}
#endregion
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?