SqlHelper.cs

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Collections; using System.Data.SqlClient; /// <summary> /// 数据库的通用访问代码 /// 此类为抽象类,不允许实例化,在应用时直接调用即可 /// </summary> public abstract class SqlHelper {     //获取数据库连接字符串,其属于静态变量且只读,项目中所有文档可以直接使用,但不能修改     public static readonly string ConnectionStringLocalTransaction =ConfigurationManager.AppSettings["DataSourceString"].ToString();       // 哈希表用来存储缓存的参数信息,哈希表可以存储任意类型的参数。     private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());     /// <summary>     ///执行一个不需要返回值的SqlCommand命令,通过指定专用的连接字符串。     /// 使用参数数组形式提供参数列表      /// </summary>     /// <remarks>     /// 使用示例:     ///  int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));     /// </remarks>     /// <param name="connectionString">一个有效的数据库连接字符串</param>     /// <param name="commandType">SqlCommand命令类型 (存储过程, T-SQL语句, 等等。)</param>     /// <param name="commandText">存储过程的名字或者 T-SQL 语句</param>     /// <param name="commandParameters">以数组形式提供SqlCommand命令中用到的参数列表</param>     /// <returns>返回一个数值表示此SqlCommand命令执行后影响的行数</returns>     public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)     {         SqlCommand cmd = new SqlCommand();         using (SqlConnection conn = new SqlConnection(connectionString))         {             //通过PrePareCommand方法将参数逐个加入到SqlCommand的参数集合中             PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);             int val = cmd.ExecuteNonQuery();             //清空SqlCommand中的参数列表             cmd.Parameters.Clear();             return val;         }     }     /// <summary>     ///执行一条不返回结果的SqlCommand,通过一个已经存在的数据库连接      /// 使用参数数组提供参数     /// </summary>     /// <remarks>     /// 使用示例:       ///  int result = ExecuteNonQuery(conn, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));     /// </remarks>     /// <param name="conn">一个现有的数据库连接</param>     /// <param name="commandType">SqlCommand命令类型 (存储过程, T-SQL语句, 等等。)</param>     /// <param name="commandText">存储过程的名字或者 T-SQL 语句</param>     /// <param name="commandParameters">以数组形式提供SqlCommand命令中用到的参数列表</param>     /// <returns>返回一个数值表示此SqlCommand命令执行后影响的行数</returns>     public static int ExecuteNonQuery(SqlConnection connection, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)     {         SqlCommand cmd = new SqlCommand();         PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);         int val = cmd.ExecuteNonQuery();         cmd.Parameters.Clear();         return val;     }     /// <summary>     /// 执行一条不返回结果的SqlCommand,通过一个已经存在的数据库事物处理      /// 使用参数数组提供参数     /// </summary>     /// <remarks>     /// 使用示例:      ///  int result = ExecuteNonQuery(trans, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));     /// </remarks>     /// <param name="trans">一个存在的 sql 事物处理</param>     /// <param name="commandType">SqlCommand命令类型 (存储过程, T-SQL语句, 等等。)</param>     /// <param name="commandText">存储过程的名字或者 T-SQL 语句</param>     /// <param name="commandParameters">以数组形式提供SqlCommand命令中用到的参数列表</param>     /// <returns>返回一个数值表示此SqlCommand命令执行后影响的行数</returns>     public static int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)     {         SqlCommand cmd = new SqlCommand();         PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, commandParameters);         int val = cmd.ExecuteNonQuery();         cmd.Parameters.Clear();         return val;     }     /// <summary>     ///

转载于:https://www.cnblogs.com/ft-Pavilion/p/4481972.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值