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
        }
    }
  • 相关阅读:
    不相交集实现实例
    TQ2440开发板挂载U盘出现乱码
    快速选择实例
    linux2.6.30.4内核移植(7)——插入hello world驱动模块
    linux2.6.30.4内核移植(6)——移植应用程序hello world常见的错误:-bin/sh ./hello not found
    linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)
    linux2.6.30.4内核移植(4)——完善串口驱动
    linux2.6.30.4内核移植(3)——yaffs文件系统移植
    linux2.6.30.4内核移植(2)——Nand Flash驱动移植
    快速排序实例
  • 原文地址:https://www.cnblogs.com/dong897812629/p/2831447.html
Copyright © 2011-2022 走看看