zoukankan      html  css  js  c++  java
  • SqlHelper 基类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    /**/
    using System.Data.SqlClient;
    using System.Data;
    using System.Configuration;
    /********************************************************************************
     ** 创建人:
     ** 创始时间:2012-11-27
     ** 修改人:
     ** 修改时间:
     ** 描述:
     ** 数据库操作基类
    *********************************************************************************/
    namespace DAL
    {
        public class SqlHelper
        {
            public static SqlConnection connection;
    
            #region 打开数据库
            /// <summary>
            /// 打开数据库
            /// </summary>
            public static SqlConnection Conn
            {
                get
                {
                    string connStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
                    if (connection == null)
                    {
                        connection = new SqlConnection(connStr);
                        connection.Open();
                    }
                    else if(connection.State==System.Data.ConnectionState.Closed){
                        connection = new SqlConnection(connStr);
                        connection.Open();
                    }else if (connection.State==System.Data.ConnectionState.Broken){
                        connection.Close();
                        connection.Open();
                    }
                    return connection;
                }
            }
            #endregion
    
            #region 增,删,改ExecuteNonQuery
            /// <summary>
            /// 单个数据增,删,改
            /// </summary>
            /// <param name="sql"></param>
            /// <returns></returns>
            public static int ExecuteNonQuery(string sql)
            {
                try
                {
                    using(SqlCommand cmd=new SqlCommand(sql,Conn))
                    {
                        int result = cmd.ExecuteNonQuery();
                        return result;
                    }
                }
                catch(SqlException ex)
                {
                    throw ex;
                }
            }
            #endregion 
    
            #region 带参数的增,删,改ExecuteNonQuery
            /// <summary>
            /// 带多个参数的增,删,改
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="type"></param>
            /// <param name="values"></param>
            /// <returns></returns>
            public static int ExecuteNonQuery(string sql,CommandType type,params SqlParameter[] values)
            {
                try
                {
                    using(SqlCommand cmd=new SqlCommand(sql,Conn))
                    {
                        cmd.CommandType = type;
                        cmd.Parameters.AddRange(values);//
                        int result = cmd.ExecuteNonQuery();
                        return result;
                    }
                }
                catch(SqlException ex)
                {
                    throw ex;
                }
            }
            #endregion
    
            #region 查询语句ExecuteScalar
            /// <summary>
            /// 查单个值
            /// </summary>
            /// <param name="sql"></param>
            /// <returns></returns>
            public static int ExecuteScalar(string sql)
            {
                try
                {
                    using(SqlCommand cmd=new SqlCommand(sql,Conn))
                    {
                        int result = Convert.ToInt32(cmd.ExecuteScalar());
                        return result;
                    }
                }
                catch(SqlException ex)
                {
    
                    throw ex;
                }
            }
            #endregion 
    
            #region 带参数的查询语句ExecuteScalar
            /// <summary>
            /// 带执行类型的ExecuteScalar
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="type"></param>
            /// <param name="values"></param>
            /// <returns></returns>
            public static int ExecuteScalar(string sql,CommandType type,params SqlParameter[] values)
            {
                try
                {
                    using(SqlCommand cmd=new SqlCommand(sql,Conn))
                    {
                        cmd.CommandType = type;
                        cmd.Parameters.AddRange(values);
                        int result =Convert.ToInt32(cmd.ExecuteScalar());
                        return result;
                    }
                }
                catch(SqlException ex)
                {
                    throw ex;
                }
            }
            #endregion
    
            #region 查询,返回DataReader
            /// <summary>
            /// 查询表,获取多个记录
            /// </summary>
            /// <param name="sql"></param>
            /// <returns></returns>
            public static SqlDataReader ExecuteReader(string sql)
            {
                try
                {
                    using(SqlCommand cmd=new SqlCommand(sql,Conn))
                    {
                        SqlDataReader dtr = cmd.ExecuteReader();
                        return dtr;
                    }
                }
                catch(SqlException ex)
                {
                    throw ex;
                }
            }
            #endregion 
    
            #region 带参数的查询,返回DataReader
            /// <summary>
            /// 查询表,获取多个记录
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="type"></param>
            /// <param name="values"></param>
            /// <returns></returns>
            public static SqlDataReader ExecuteReader(string sql,CommandType type,params SqlParameter[] values)
            {
                try
                {
                    using(SqlCommand cmd=new SqlCommand(sql,Conn))
                    {
                        cmd.CommandType = type;
                        cmd.Parameters.AddRange(values);
                        SqlDataReader dtr = cmd.ExecuteReader();
                        return dtr;
                    }
                }
                catch(SqlException ex)
                {
                    throw ex;
                }
            }
            #endregion 
    
            #region 查询,返回datatable
            /// <summary>
            /// 返回datatable
            /// </summary>
            /// <param name="sql"></param>
            /// <returns></returns>
            public static DataTable dataTable(string sql)
            {
                try
                {
                    DataSet dst = new DataSet();
                    SqlCommand cmd = new SqlCommand(sql,Conn);
                    SqlDataAdapter dad = new SqlDataAdapter(cmd);
                    dad.Fill(dst);//在 DataSet 中添加或刷新行
                    return dst.Tables[0];
                }
                catch(SqlException ex)
                {
                    throw ex;
                }
            }
            #endregion
    
            #region 带参数的查询, 返回dataTable
            /// <summary>
            /// 返回dataTable
            /// </summary>
            /// <param name="sql"></param>
            /// <param name="values"></param>
            /// <returns></returns>
            public static DataTable datatable(string sql,params SqlParameter[] values)
            {
                DataSet dst = new DataSet();
                SqlCommand cmd = new SqlCommand(sql,Conn);
                cmd.Parameters.AddRange(values);
                SqlDataAdapter dad = new SqlDataAdapter(cmd);
                dad.Fill(dst);//在 DataSet 中添加或刷新行
                return dst.Tables[0];
            }
            #endregion
        }
    }
  • 相关阅读:
    freemarker时间转换197
    用FileZilla服务器端和客户端实现本机与虚拟机之间文件上传和下载197
    springboot pom 详解197
    eclipse svn197
    eclipse 安装git197
    listen()函数中backlog参数分析
    linux 函数库使用
    gdb调试问题汇总
    gdb调试多线程
    linux-C 多线程编程
  • 原文地址:https://www.cnblogs.com/dong897812629/p/2831447.html
Copyright © 2011-2022 走看看