• SQLHelper类


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.SqlClient;
    using System.Data;
    
     
        /// <summary>
        /// sql server数据操作的底层类
        /// </summary>
        public class SQLHelper
        {
            public static string connStr = System.Configuration.ConfigurationManager.AppSettings["connStr"];
    
            //1.查询列表 GetTable
            /// <summary>
            /// 查询命令(sql 语句或过程名),返回一个数据表
            /// </summary>
            /// <param name="cmdText">命令</param>
            /// <param name="type">命令类型</param>
            /// <param name="pms">sql参数</param>
            /// <returns></returns>
            public static DataTable GetTable(string cmdText,CommandType type, params SqlParameter[] pms)
            {
                SqlConnection conn = new SqlConnection(connStr);
                conn.Open();
                SqlCommand cmd = new SqlCommand(cmdText, conn);
                cmd.CommandType = type;
                if (pms != null) //判断是不是有参数传递进来 判断数组是不是null
                {
                    foreach (SqlParameter item in pms)
                    {
                        if (item != null) //判断数组中的每一个元素是不是为null
                        {
                            cmd.Parameters.Add(item);
                        }
                    }
                }
                SqlDataAdapter sda = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                sda.Fill(ds, "aa");
                conn.Close();
                //返回结果
                DataTable dt = ds.Tables["aa"];
                return dt;
                //************************************
            }
    
            //给查询列表操作写一个执行sql语句的重载
            /// <summary>
            /// 执行sql语句,返回数据表
            /// </summary>
            /// <param name="sql">sql语句</param>
            /// <param name="pms">sql语句所需要的参数</param>
            /// <returns></returns>
            public static DataTable GetTable(string sql, params SqlParameter[] pms)
            {
                return GetTable(sql, CommandType.Text, pms);
            }
    
            //2.执行命令返回影响行数 ExecuteNonQuery
            public static int ExecuteNonQuery(string cmdText, CommandType type, params SqlParameter[] pms)
            {
                SqlConnection conn = new SqlConnection(connStr);
                conn.Open();
                SqlCommand cmd = new SqlCommand(cmdText, conn);
                cmd.CommandType = type;
                if (pms != null) //判断是不是有参数传递进来 判断数组是不是null
                {
                    foreach (SqlParameter item in pms)
                    {
                        if (item != null) //判断数组中的每一个元素是不是为null
                        {
                            cmd.Parameters.Add(item);
                        }
                    }
                } 
                int i = cmd.ExecuteNonQuery();
                conn.Close(); 
                return i;
            }
    
            public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
            {
                return ExecuteNonQuery(sql, CommandType.Text, pms);
            }
    
            //3.查询返回结果中的首行首列  ExecuteSingle
            public static object ExecuteSingle(string cmdText, CommandType type, params SqlParameter[] pms)
            {
                SqlConnection conn = new SqlConnection(connStr);
                conn.Open();
                SqlCommand cmd = new SqlCommand(cmdText, conn);
                cmd.CommandType = type;
                if (pms != null) //判断是不是有参数传递进来 判断数组是不是null
                {
                    foreach (SqlParameter item in pms)
                    {
                        if (item != null) //判断数组中的每一个元素是不是为null
                        {
                            cmd.Parameters.Add(item);
                        }
                    }
                }
    
                object obj= cmd.ExecuteScalar();
                conn.Close();
                return obj;
            }
    
            public static object ExecuteSingle(string sql, params SqlParameter[] pms)
            {
                return ExecuteSingle(sql, CommandType.Text, pms);
            }
    
            //4.查询返回一个DataReader对象,让别人以游标的方式去读取数据  GetDataReader
            public static SqlDataReader GetDataReader(string cmdText, CommandType type, params SqlParameter[] pms)
            {
                SqlConnection conn = new SqlConnection(connStr);
                conn.Open();
                SqlCommand cmd = new SqlCommand(cmdText, conn);
                cmd.CommandType = type;
                if (pms != null) //判断是不是有参数传递进来 判断数组是不是null
                {
                    foreach (SqlParameter item in pms)
                    {
                        if (item != null) //判断数组中的每一个元素是不是为null
                        {
                            cmd.Parameters.Add(item);
                        }
                    }
                }
                SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                return dr;
            }
    
            public static SqlDataReader GetDataReader(string sql, params SqlParameter[] pms)
            {
                return GetDataReader(sql, CommandType.Text, pms);
            }
            
        }
     
    

      

  • 相关阅读:
    大数据之 Spark
    设计模式之——外观or门面模式
    架构设计
    Spring
    高并发系列之——负载均衡,web负载均衡
    高并发系列之——原子性和可见性
    高并发系列之——缓存中间件Redis
    mybatis
    JVM读书笔记
    mybatis中一对一关系映射
  • 原文地址:https://www.cnblogs.com/xiaz/p/5194663.html
Copyright © 2020-2023  润新知