zoukankan      html  css  js  c++  java
  • DbHelperSQL

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data;
    using System.Data.SqlClient;
    
    namespace DAL
    {
        public class DbHelperSQL
        {
            static string strConn = System.Configuration.ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
    
            #region 1.0 获取 数据表
            /// <summary>
            /// 获取 数据表
            /// </summary>
            /// <param name="strSql"></param>
            /// <param name="paras"></param>
            /// <returns></returns>
            public static DataTable GetDataTable(string strSql, params SqlParameter[] paras)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    //查询少量数据时,用适配器(内部就是用 读取器 读取数据然后装入 数据集/数据表 返回)
                    SqlDataAdapter da = new SqlDataAdapter(strSql, conn);
                    //此时 paras 长度 >= 0,所以可以直接添加
                    da.SelectCommand.Parameters.AddRange(paras);
                    //创建数据表
                    DataTable dt = new DataTable();
                    //执行查询并填充数据
                    da.Fill(dt);
                    return dt;
                }
            }
            #endregion
            #region 2.0 获取读取器(读取大量数据时使用) 
            /// <summary>
            /// 获取读取器(读取大量数据时使用)
            /// </summary>
            /// <param name="strSql"></param>
            /// <param name="paras"></param>
            /// <returns></returns>
            public static SqlDataReader ExcuteDataReader(string strSql, params SqlParameter[] paras)
            {
                //连接通道
                SqlConnection conn = new SqlConnection(strConn);
                //打开连接通道
                conn.Open();
                //命令对象
                SqlCommand cmd = new SqlCommand(strSql, conn);
                //添加参数
                cmd.Parameters.AddRange(paras);
                //创建读取器,同时指定行为:如果读取器被关闭,会自动关闭该读取器使用的 Connection
                SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                return dr;
            }
            #endregion
            #region 3.0执行查询语句 
            /// <summary>
            /// 执行费查询语句
            /// </summary>
            /// <param name="strSql"></param>
            /// <param name="paras"></param>
            /// <returns></returns>
            public static int ExcuteNonQuery(string strSql, params SqlParameter[] paras)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    SqlCommand cmd = new SqlCommand(strSql, conn);
                    cmd.Parameters.AddRange(paras);
                    conn.Open();
                    return cmd.ExecuteNonQuery();
                }
            }
            #endregion
            #region 4.0查询单个值 +object ExcuteScalar(string strSql, params SqlParameter[] paras)
            /// <summary>
            /// 查询单个值
            /// </summary>
            /// <param name="strSql"></param>
            /// <param name="paras"></param>
            /// <returns></returns>
            public static object ExcuteScalar(string strSql, params SqlParameter[] paras)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    SqlCommand cmd = new SqlCommand(strSql, conn);
                    cmd.Parameters.AddRange(paras);
                    conn.Open();
                    return cmd.ExecuteScalar();
                }
            }
            #endregion
            #region 5.0查询单个值(泛型版本) 
            /// <summary>
            /// 查询单个值(泛型版本)
            /// </summary>
            /// <param name="strSql"></param>
            /// <param name="paras"></param>
            /// <returns></returns>
            public static T ExcuteScalar<T>(string strSql, params SqlParameter[] paras)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    SqlCommand cmd = new SqlCommand(strSql, conn);
                    cmd.Parameters.AddRange(paras);
                    conn.Open();
                    return (T)cmd.ExecuteScalar();
                }
            }
            #endregion
            #region 6.0 获取 数据表(调用存储过程)
            /// <summary>
            /// 获取 数据表(调用存储过程)
            /// </summary>
            /// <param name="strProcName"></param>
            /// <param name="paras"></param>
            /// <returns></returns>
            public static DataTable ExcuteTableByProc(string strProcName, params SqlParameter[] paras)
            {
                using (SqlConnection conn = new SqlConnection(strConn))
                {
                    //查询少量数据时,用适配器(内部就是用 读取器 读取数据然后装入 数据集/数据表 返回)
                    SqlDataAdapter da = new SqlDataAdapter(strProcName, conn);
                    da.SelectCommand.CommandType = CommandType.StoredProcedure;
                    //此时 paras 长度 >= 0,所以可以直接添加
                    da.SelectCommand.Parameters.AddRange(paras);
                    //创建数据表
                    DataTable dt = new DataTable();
                    //执行查询并填充数据
                    da.Fill(dt);
                    return dt;
                }
            }
            #endregion
    
        }
    }
  • 相关阅读:
    实现treeview的动态加载
    sql server2000中使用convert来取得datetime数据类型样式(全)
    一道微软公司的面试题目的算法实现
    后台一行输入太多内容,使前台显示自动换行方法
    在js中刷新本页
    关于datediff函数的用法
    C#中StringBuilder类的使用(转)
    在字符串中使用引号("")等字符 需要用转义字符\ 例如
    常用的SQL和TSQL语句(一) (转)
    JS弹出窗口的运用与技巧(转)
  • 原文地址:https://www.cnblogs.com/CodeBase/p/3691642.html
Copyright © 2011-2022 走看看