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. js循环处理后台返回的json数组

    <script type="text/javascript"> function gongdan_search(elm){ var dangqian_value=$(e ...

  2. [leetcode-507-Perfect Number]

    We define the Perfect Number is a positive integer that is equal to the sum of all its positive divi ...

  3. JAVA基础——类和对象

    java类与对象学习笔记 一.成员变量和局部变量 (1)定义 1.成员变量 在类中定义,用来描述对象将要有什么.(默认的成员变量值为0) 2.局部变量 在类的方法中定义,在方法中临时保存数据. 演示示 ...

  4. sizzle选择器的使用

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  5. VUE2.0+VUE-Router做一个图片上传预览的组件

    之前发了一篇关于自己看待前端组件化的文章,但是由于学习和实践的业务逻辑差异,所以自己练习的一些demo逻辑比较简单,打算用vue重构现在公司做的项目,所以在一些小的功能页面上使用vue来做的,现在写的 ...

  6. encodeURI与decodeURI

    Global对象的ecodeURI方法可以对URI进行编码,与其类似的还有一个方法encodeURIComponent方法. 相应的对URI的解码方法也有两个:decodeURI.decodeURIC ...

  7. RabbitMQ安装|使用|概念|Golang开发

    搬砖的陈大师版权所有,转载请注明:http://www.lenggirl.com/tool/RabbitMQ.html 手册:http://www.rabbitmq.com/getstarted.ht ...

  8. Java学习笔记之字符串常用方法

    一.String关键字一些常用方法 1.构造方法: public String(); 空构造 public String(byte[]  bytes);将字节数组转成字符串 public String ...

  9. 安装 Node 和 gulp

    gulp 是基于 node 实现的,那么我们就需要先安装 node. Node 是一个基于Chrome JavaScript V8引擎建立的一个平台,可以利用它实现 Web服务,做类似PHP的事. 打 ...

  10. 移动端Touch事件基础

    1.三个常用的移动端事件 ontouchstart 手指按下时触发 ontouchmove 手指移动时触发 ontouchend 手动抬起时触发 注意:这些事件当作事件属性使用时,不兼容谷歌浏览器. ...