【ADO.NET】7、SQL高级封装

复制代码
   public static string str = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
    
    /// <summary>
        /// 用于查询数据返回 SqlDataReader 类型
        /// </summary>
        /// <param name="ConnectionStrs">连接字符串</param>
        /// <param name="type">操作类型(text/StoredProcedure)</param>
        /// <param name="cmdtext">操作命令(存储过程)</param>
        /// <param name="parameter">参数</param>
        /// <returns></returns>
   public static SqlDataReader ExecuteReader(string ConnectionStrs,CommandType type,string cmdtext, params SqlParameter[] parameter)
     {
            SqlConnection conn = new SqlConnection(ConnectionStrs);
            SqlCommand cmd = conn.CreateCommand();
            Allcmd(conn, cmd, type, cmdtext, parameter);
            SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            cmd.Parameters.Clear();
            return dr;
      }

        /// <summary>
        /// 用于更新,删除,插入数据返回int类型
        /// </summary>
        /// <param name="ConnectionStrs">连接字符串</param>
        /// <param name="type">操作类型(text/StoredProcedure)</param>
        /// <param name="cmdtext">操作命令(存储过程)</param>
        /// <param name="parameter">参数</param>
        /// <returns></returns>
   public static int ExecuteNoQuery(string ConnectionStrs, CommandType type, string cmdtext, params SqlParameter[] parameter)
     {
            using (SqlConnection conn = new SqlConnection(ConnectionStrs))
            {
                SqlCommand cmd = conn.CreateCommand();
                Allcmd(conn, cmd,type, cmdtext, parameter);
                int val = cmd.ExecuteNonQuery();
                cmd.Parameters.Clear();
                return val;
            }
      }

        /// <summary>
        /// 用于返回首行首列的数据返回object类型
        /// </summary>
        /// <param name="ConnectionStrs">连接字符串</param>
        /// <param name="type">操作类型(text/StoredProcedure)</param>
        /// <param name="cmdtext">操作命令(存储过程)</param>
        /// <param name="parameter">参数</param>
        /// <returns></returns>
    public static object ExecuteScalar(string ConnectionStrs, CommandType type, string cmdtext, params SqlParameter[] parameter)
      {
            using (SqlConnection conn = new SqlConnection(ConnectionStrs))
            {
                SqlCommand cmd = conn.CreateCommand();
                Allcmd(conn, cmd, type, cmdtext, parameter);
                object val = cmd.ExecuteScalar();
                cmd.Parameters.Clear();
                return val;
            }
        }

        /// <summary>
        /// 用于操作全部的连接命令
        /// </summary>
        /// <param name="conn">连接对象</param>
        /// <param name="cmd">命令操作对象</param>
        /// <param name="Type">命令操作类型</param>
        /// <param name="cmdText">执行语句</param>
        /// <param name="cmdParms">参数对象</param>
    private static void Allcmd(SqlConnection conn, SqlCommand cmd, CommandType Type, string cmdText, SqlParameter[] cmdParms)
      {
            if (conn.State != ConnectionState.Open)
            {
                conn.Open();
            }
            cmd.Connection = conn;
            cmd.CommandType = Type;
            cmd.CommandText = cmdText;
            if (cmdParms != null)
            {
                foreach (SqlParameter par in cmdParms)
                {
                    cmd.Parameters.Add(par);
                }
            }
      }
复制代码
posted on 2017-05-11 21:02 叶祖辉 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/yezuhui/p/6842759.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值