using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.Linq;
using System.Web;

namespace WXCustomerCard.DataAccess {
    public class DataBase {
        private string connectionString ="server=.;uid=sa;password=123456;Database=WXCustomerCard;max pool size=1000";//server=120.24.159.211;uid=sa;password=20894796@qq.com;Database=WXCustomerCard;max pool size=1000

        //private string connectionString = "server=120.24.159.211;uid=sa;password=20894796@qq.com;Database=WXCustomerCard;max pool size=1000";//"server=.;uid=sa;password=123456;Database=WXCustomerCard;max pool size=1000";//server=120.24.159.211;uid=sa;password=20894796@qq.com;Database=WXCustomerCard;max pool size=1000
        public DataBase() {
        }
        public DataBase(string conStr) {
            connectionString = conStr;
        }

        public object ExecuteScalar(string sql,List< DbParameter> parameters = null) {
            try {
                using (SqlConnection connection = new SqlConnection(connectionString)) {
                    using (SqlCommand command = connection.CreateCommand()) {
                        command.CommandType = CommandType.Text;
                        command.CommandText = sql;
                        if (parameters != null && parameters.Count > 0) {
                            foreach (SqlParameter item in parameters) {
                                command.Parameters.Add(item);
                            }
                        }
                        connection.Open();
                        var data = command.ExecuteScalar();
                        command.Parameters.Clear();
                        return data;
                    }
                }
            }
            catch (Exception ex) {
                throw ex;
            }
        }
        public bool ExecuteNonQuery(string sql, List<DbParameter> parameters = null) {
            try {
                using (SqlConnection connection = new SqlConnection(connectionString)) {
                    using (SqlCommand command = connection.CreateCommand()) {
                        command.CommandType = CommandType.Text;
                        command.CommandText = sql;

                        if (parameters != null && parameters.Count > 0) {
                            foreach (SqlParameter item in parameters) {
                                command.Parameters.Add(item);
                            }
                        }
                        connection.Open();
                        return command.ExecuteNonQuery() > 0;
                    }
                }
            }
            catch (Exception ex) {
                throw ex;
            }
        }
        public List<T> ExecuteReader<T>(string sql, List<DbParameter> parameters = null) where T : class, new() {
            try {
                using (SqlConnection connection = new SqlConnection(connectionString)) {
                    using (SqlCommand command = connection.CreateCommand()) {
                        command.CommandType = CommandType.Text;
                        command.CommandText = sql;

                        if (parameters != null && parameters.Count > 0) {
                            foreach (SqlParameter item in parameters) {
                                command.Parameters.Add(item);
                            }
                        }

                        connection.Open();

                        T t = new T();

                        var task = command.ExecuteReader();
                        List<T> list = DataConvert.DataReaderToEntities<T>(task);
                        if (list != null && list.Count > 0) {
                            return list;
                        }
                        return null;
                    }
                }
            }
            catch (Exception ex) {
                throw ex;
            }
        }

    }
}

封装sqlhelper类的更多相关文章

  1. ado.net的简单数据库操作(二)之封装SqlHelperl类

    今天我书接上回,接着昨天的ado.net的数据库操作的相关知识来讲哈! 从上篇文章给出的实例来看,你一定会发现,操作数据库其实还挺麻烦的,就连一个最简单的数据库操作语句都要包括 定义数据库连接字符串. ...

  2. JAVA WEB SQLHelper类的封装

    在这次做项目中,我对自己最满意的就是封装了一下SQLHelper类,我对自己感到骄傲主要是 我是初学者,我刚开始不知道可以这样做,我只是想着试着去这样做了,结果真的可以,所以我 在我的模块就自己封装了 ...

  3. C#封装CRUD到SqlHelper类解读

    1.简单说明一下,一般情况下,数据库连接字符串是在App.config文件中进行配置,然后再在代码中进行引用.因此,我们在这里先看一下App.config文件. 首先看需要添加的内容: 参数说明: n ...

  4. ADO.NET复习——自己编写SqlHelper类

    今天复习了一次ADO.NET基础,整理一下自己的认为的重点: 编写SqlHelper类,方便我们执行数据库语句,这时可以直接调用封装在SqlHelper类的方法.现在大多数公司面试的时候,给你的面试题 ...

  5. 【转载】微软官方提供的Sqlserver数据库操作帮助类SQLHelper类

    在.NET平台中,C#语言一般使用ADO.NET组件来操作Sqlserver数据库,通过ADO.NET组件可以实现连接数据库.查询数据集.执行SQL语句以及关闭数据库连接等操作,为此网上有很多开发者自 ...

  6. 微软官方SqlHelper类 数据库辅助操作类

    数据库操作类真的没有必要自己去写,因为成熟的类库真的非常完善了,拿来直接用就好,省时省力. 本文就为大家介绍微软官方的程序PetShop4.0中的SqlHelper类,先来做一下简单的介绍,PetSh ...

  7. 数据操作的封装--sqlhelper

    为了提高软件的灵活性和可维护性,软件的代码须要科学的管理.我们引入了架构这个词.设计模式提醒我们,软件中反复性的代码须要封装起来. 近期在做收费系统时.须要和数据库进行频繁的联系.既然是反复的使用,就 ...

  8. SpringMVC 自动封装枚举类的方法

    springmvc默认无法自动封装枚举类,解决方法如下: 1.枚举类 public enum GoodsPromoteEnum { /** * 0 精品 */ fine("精品", ...

  9. 最新的SqlHelper 类

    最新的SqlHelper 类 摘自:http://www.cnblogs.com/sufei/archive/2010/01/14/1648026.html using System; using S ...

随机推荐

  1. SevenZipSharp的入门教程(包含如何加密压缩,解密压缩)

    (一)为什么选择7z              7z 是一种主流高效的压缩格式,它拥有极高的压缩比.在计算机科学中,7z是一种可以使用多种压缩算法进行数据压缩的档案格式.该格式最初被7-Zip实现并采 ...

  2. 拉勾网招聘数据分析(Echarts, SQL, java)

    这次的数据分析与决策课程,我做的是通过爬取拉勾网上的招聘信息,并用爬取到的数据整体分析互联网行业数据,项目做得差不多了,先总结下吧,后边有时间了再完善. 主要工具:  Echarts, SQL, ja ...

  3. Web前端总结(小伙伴的)

    以下总结是我工作室的小伙伴的心得,可以参考一下 html+css知识点总结 HTMl+CSS知识点收集 1.letter-spacing和word-spacing的区别 letter-spacing: ...

  4. 2017全球互联网技术大会回顾(附PPT)

    有幸遇见 GITC2017上海站,刚好遇见你! 为期两天(6.23~24)的GITC大会在上海举行,我有幸参加了24号的那场,也就是上周六,之所以今天才来回顾,是我想等PPT出来后分享给大家! 这应该 ...

  5. python yield from 语法

    python yield from 语法 yield语法比较简单, 教程也很多 , yield from的中文讲解很少 , python官网是这样解释的 PEP 380 adds the yield ...

  6. ASP.NET Core Web API 最小化项目

    ASP.NET Core中默认的ASP.NET Core 模板中有Web API 模板可以创建Web API项目. 有时,只需要创建一个API,不需要关心Razor,本地化或XML序列化.通过删除无用 ...

  7. 设置select标签的高度

    当无法给select标签设置高度的时候,给他加一个背景色,就可以设置了.

  8. JS,HTML,CSS

    HTML定义了网页的内容 CSS定义了网页的布局 JavaScript定义了网页的行为

  9. mysql性能监控工具

    参考文档: http://www.linuxidc.com/Linux/2012-09/70459.htm 1.记录慢查询SQL #配置开启 (linux)修改my.cnf: log-slow-que ...

  10. diy toy: image auto-handler

    备忘之:) config.xml <?xml version="1.0" encoding="utf-8"?> <config> < ...