几次装机,Notes已烟消云散,近日因为Node.js死活搞不定,无奈装机,备份好的东东,没想到磁盘扇区出现异常,可能是PE启动盘的病毒,只好将磁盘全部重新分区,恢复数据也懒得恢复了,日积月累关乎将来的开发效率,还好处于懵懂阶段。笔记一大堆,记忆力又不怎么好,所以web+log=blog;

SqlHelper类

using System;

using System.Collections.Generic;

using System.Configuration;

using System.Data;

using System.Data.SqlClient;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace DAL

{

/// <summary>

/// SqlHelper类 by zy 2016-3-11

/// </summary>

public  class SqlHelper

{
     //如果项目中只连接了一个数据库 那么可以在此定义一个固定的连接字符串

​    public static string ConnectionStr { get; } =

​        ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;

​    public static string ConnStr()

​    {

​        return ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;

​    }

​    #region ExecuteNonQuery

​    /// <summary>

​    /// 执行sql语句 返回受影响行数

​    /// </summary>

​    /// <param name="connectionString">连接字符串</param>

​    /// <param name="cmdType">command类型</param>

​    /// <param name="cmdText">sql语句</param>

​    /// <param name="commandParameters">参数</param>

​    /// <returns></returns>

​    public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText,

​        params SqlParameter[] commandParameters)

​    {

​        SqlCommand cmd = new SqlCommand();

​        using (SqlConnection conn = new SqlConnection(connectionString))

​        {

​            PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);

​            int val = cmd.ExecuteNonQuery();

​            cmd.Parameters.Clear();

​            return val;

​        }

​    }

​    /// <summary>

​    /// 执行sql语句 返回当前插入的记录id(其实是ExecuteScalar转换成id返回)

​    /// </summary>

​    /// <param name="connectionString">连接字符串</param>

​    /// <param name="cmdType">command类型</param>

​    /// <param name="cmdText">sql语句</param>

​    /// <param name="returnID">返回id</param>

​    /// <param name="commandParameters">参数</param>

​    /// <returns></returns>

​    public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText,

​        out int returnID, params SqlParameter[] commandParameters)

​    {

​        SqlCommand cmd = new SqlCommand();

​        using (SqlConnection conn = new SqlConnection(connectionString))

​        {

​            returnID = 0;

​            PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);

​            returnID = (Int32) cmd.ExecuteScalar();

​            cmd.Parameters.Clear();

​            return returnID;

​        }

​    }

​    /// <summary>

​    /// 执行sql语句 返回受影响行数(数据库连接SqlConnection)

​    /// </summary>

​    /// <param name="connection">SqlConnection连接</param>

​    /// <param name="cmdType">command类型</param>

​    /// <param name="cmdText">sql语句</param>

​    /// <param name="commandParameters">参数</param>

​    /// <returns></returns>

​    public static int ExecuteNonQuery(SqlConnection connection, CommandType cmdType, string cmdText,

​        params SqlParameter[] commandParameters)

​    {

​        SqlCommand cmd = new SqlCommand();

​        PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);

​        int val = cmd.ExecuteNonQuery();

​        cmd.Parameters.Clear();

​        return val;

​    }

​    /// <summary>

​    /// 执行sql语句 返回受影响行数(事务SqlTransaction)

​    /// </summary>

​    /// <param name="trans">SqlTransaction事务</param>

​    /// <param name="cmdType">command类型</param>

​    /// <param name="cmdText">sql语句</param>

​    /// <param name="commandParameters">参数</param>

​    /// <returns></returns>

​    public static int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType, string cmdText,

​        params SqlParameter[] commandParameters)

​    {

​        SqlCommand cmd = new SqlCommand();

​        PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, commandParameters);

​        int val = cmd.ExecuteNonQuery();

​        cmd.Parameters.Clear();

​        return val;

​    }

​    #endregion

​    #region ExecuteScalar

​    /// <summary>

​    /// 执行sql语句 返回结果集第一行第一列

​    /// </summary>

​    /// <param name="connectionString">连接字符串</param>

​    /// <param name="cmdType">Command类型</param>

​    /// <param name="cmdText">sql语句</param>

​    /// <param name="commandParameters">参数</param>

​    /// <returns></returns>

​    public static object ExecuteScalar(string connectionString, CommandType cmdType, string cmdText,

​        params SqlParameter[] commandParameters)

​    {

​        SqlCommand cmd = new SqlCommand();

​        using (SqlConnection connection = new SqlConnection(connectionString))

​        {

​            PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);

​            object val = cmd.ExecuteScalar();

​            cmd.Parameters.Clear();

​            return val;

​        }

​    }

​    /// <summary>

​    /// 执行sql语句 返回结果集第一行第一列(事务)

​    /// </summary>

​    /// <param name="trans">SqlTransaction事务</param>

​    /// <param name="cmdType">Command类型</param>

​    /// <param name="cmdText">sql语句</param>

​    /// <param name="commandParameters">参数</param>

​    /// <returns></returns>

​    public static object ExecuteScalar(SqlTransaction trans, CommandType cmdType, string cmdText,

​        params SqlParameter[] commandParameters)

​    {

​        SqlCommand cmd = new SqlCommand();

​        PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, commandParameters);

​        object val = cmd.ExecuteScalar();

​        cmd.Parameters.Clear();

​        return val;

​    }

​    /// <summary>

​    /// 执行sql语句 返回结果集第一行第一列(数据库连接)

​    /// </summary>

​    /// <param name="connection">SqlConnection连接</param>

​    /// <param name="cmdType">Command类型</param>

​    /// <param name="cmdText">sql语句</param>

​    /// <param name="commandParameters">参数</param>

​    /// <returns></returns>

​    public static object ExecuteScalar(SqlConnection connection, CommandType cmdType, string cmdText,

​        params SqlParameter[] commandParameters)

​    {

​        SqlCommand cmd = new SqlCommand();

​        PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);

​        object val = cmd.ExecuteScalar();

​        cmd.Parameters.Clear();

​        return val;

​    }

​    #endregion

​    #region ExecuteReader

​    /// <summary>

​    /// 执行sql语句 返回reader

​    /// </summary>

​    /// <param name="connectionString">连接字符串</param>

​    /// <param name="cmdType">command类型</param>

​    /// <param name="cmdText">sql语句</param>

​    /// <param name="commandParameters">参数</param>

​    /// <returns></returns>

​    public static SqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText,

​        params SqlParameter[] commandParameters)

​    {

​        SqlCommand cmd = new SqlCommand();

​        SqlConnection conn = new SqlConnection(connectionString);

​        try

​        {

​            PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);

​            SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

​            cmd.Parameters.Clear();

​            return rdr;

​        }

​        catch

​        {

​            conn.Close();

​            throw;

​        }

​    }

​    #endregion

​    #region DataSet

​    /// <summary>

​    /// 执行sql语句 返回DataSet结果集(无参数)

​    /// </summary>

​    /// <param name="connectionString">连接字符串</param>

​    /// <param name="commandType">command类型</param>

​    /// <param name="commandText">sql语句</param>

​    /// <returns></returns>

​    public static DataSet ExecuteDataset(string connectionString, CommandType commandType, string commandText)

​    {

​        return ExecuteDataset(connectionString, commandType, commandText, (SqlParameter[]) null);

​    }

​    /// <summary>

​    /// 执行sql语句 返回DataSet结果集

​    /// </summary>

​    /// <param name="connectionString">连接字符串</param>

​    /// <param name="commandType">command类型</param>

​    /// <param name="commandText">sql语句</param>

​    /// <param name="commandParameters">参数</param>

​    /// <returns></returns>

​    public static DataSet ExecuteDataset(string connectionString, CommandType commandType, string commandText,

​        params SqlParameter[] commandParameters)

​    {

​        //创建数据库连接 完成后dispose

​        using (SqlConnection cn = new SqlConnection(connectionString))

​        {

​            cn.Open();

​            //根据数据库连接 调用具体方法

​            return ExecuteDataset(cn, commandType, commandText, commandParameters);

​        }

​    }

​    /// <summary>

​    /// 执行sql语句 返回DataSet结果集(数据库连接SqlConnection)

​    /// </summary>

​    /// <param name="connection">SqlConnection连接</param>

​    /// <param name="commandType">command类型</param>

​    /// <param name="commandText">sql语句</param>

​    /// <param name="commandParameters">参数</param>

​    /// <returns></returns>

​    public static DataSet ExecuteDataset(SqlConnection connection, CommandType commandType, string commandText,

​        params SqlParameter[] commandParameters)

​    {

​        //创建command

​        SqlCommand cmd = new SqlCommand();

​        //准备command对象

​        PrepareCommand(cmd, connection, (SqlTransaction) null, commandType, commandText, commandParameters);

​        //创建SqlDataAdapter和DataSet

​        SqlDataAdapter da = new SqlDataAdapter(cmd);

​        DataSet ds = new DataSet();

​        //把结果集装进dataset

​        da.Fill(ds);

​        //返回

​        return ds;

​    }

​    #endregion DataSet

​    #region DataTable

​    /// <summary>

​    /// 执行sql语句 返回DataTable结果集(无参数)

​    /// </summary>

​    /// <param name="connectionString">连接字符串</param>

​    /// <param name="commandType">command类型</param>

​    /// <param name="commandText">sql语句</param>

​    /// <returns></returns>

​    public static DataTable ExecuteDataTable(string connectionString, CommandType commandType, string commandText)

​    {

​        return ExecuteDataTable(connectionString, commandType, commandText, (SqlParameter[])null);

​    }

​    /// <summary>

​    /// 执行sql语句 返回DataTable结果集

​    /// </summary>

​    /// <param name="connectionString">连接字符串</param>

​    /// <param name="commandType">command类型</param>

​    /// <param name="commandText">sql语句</param>

​    /// <param name="commandParameters">参数</param>

​    /// <returns></returns>

​    public static DataTable ExecuteDataTable(string connectionString, CommandType commandType, string commandText,

​        params SqlParameter[] commandParameters)

​    {

​        using (SqlConnection cn = new SqlConnection(connectionString))

​        {

​            cn.Open();

​            return ExecuteDataTable(cn, commandType, commandText, commandParameters);

​        }

​    }

​    /// <summary>

​    /// 执行sql语句 返回DataTable结果集

​    /// </summary>

​    /// <param name="connection">SqlConnection连接</param>

​    /// <param name="commandType">command类型</param>

​    /// <param name="commandText">sql语句</param>

​    /// <param name="commandParameters">参数</param>

​    /// <returns></returns>

​    public static DataTable ExecuteDataTable(SqlConnection connection, CommandType commandType, string commandText,

​        params SqlParameter[] commandParameters)

​    {

​        SqlCommand cmd = new SqlCommand();

​        PrepareCommand(cmd, connection, (SqlTransaction) null, commandType, commandText, commandParameters);

​        SqlDataAdapter da = new SqlDataAdapter(cmd);

​        DataTable dt = new DataTable();

​        da.Fill(dt);

​        return dt;

​    }

​    #endregion DataTable

​    #region PrepareCommand

​    /// <summary>

​    /// 准备Command对象

​    /// </summary>

​    /// <param name="cmd">SqlCommand 对象</param>

​    /// <param name="conn">SqlConnection 对象</param>

​    /// <param name="trans">SqlTransaction 对象</param>

​    /// <param name="cmdType">Command 类型</param>

​    /// <param name="cmdText">sql语句</param>

​    /// <param name="cmdParms">参数</param>

​    private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans,

​        CommandType cmdType, string cmdText, SqlParameter[] cmdParms)

​    {

​        //打开SqlConnection连接

​        if (conn.State != ConnectionState.Open)

​            conn.Open();

​        //给Command的Connection CommandText设置值

​        cmd.Connection = conn;

​        cmd.CommandText = cmdText;

​        //如果是事务 设置事务

​        if (trans != null)

​            cmd.Transaction = trans;

​        //Command类型

​        cmd.CommandType = cmdType;

​        //Command参数

​        if (cmdParms != null)

​        {

​            foreach (SqlParameter parm in cmdParms)

​            {

​                //在此可以操作参数 比如把参数值里的英文逗号全部改为中文逗号 或者其他操作

​                switch (parm.SqlDbType)

​                {

​                    case SqlDbType.Char:

​                    case SqlDbType.NChar:

​                    case SqlDbType.NText:

​                    case SqlDbType.NVarChar:

​                    case SqlDbType.Text:

​                    case SqlDbType.VarChar:

​                        if (parm.Value != null && parm.Value != DBNull.Value && parm.ParameterName != "@SQLClause")

​                        {

​                            string tmp = parm.Value.ToString();

​                            tmp = tmp.Replace(",", ",");

​                            tmp = tmp.Replace("'", "'");

​                            parm.Value = tmp;

​                        }

​                        break;

​                }

//把参数添加到Command中的Parameters中
                 cmd.Parameters.Add(parm);
             }
         }
     }

#endregion

}

}

原文地址不得,忘记哪里CV的了。

ADO.Net笔记整理(一)的更多相关文章

  1. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  2. 从0开始学Swift笔记整理(五)

    这是跟在上一篇博文后续内容: --Core Foundation框架 Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.虽然在Sw ...

  3. Deep Learning(深度学习)学习笔记整理系列之(五)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  4. 学习ReactNative笔记整理一___JavaScript基础

    学习ReactNative笔记整理一___JavaScript基础 ★★★笔记时间- 2017-1-9 ★★★ 前言: 现在跨平台是一个趋势,这样可以减少开发和维护的成本.第一次看是看的ReactNa ...

  5. Deep Learning(深度学习)学习笔记整理系列之(八)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  6. Deep Learning(深度学习)学习笔记整理系列之(七)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  7. Deep Learning(深度学习)学习笔记整理系列之(六)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  8. Deep Learning(深度学习)学习笔记整理系列之(四)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  9. Deep Learning(深度学习)学习笔记整理系列之(三)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

随机推荐

  1. GraphQL学习过程应该是这样的

    记录一个从枯燥学习 GraphQL 的过程,到发现项目 Gitter,模仿项目 Github-Trending-API,最后做一个自己的学习项目 Github-Trending-GraphQL. 一开 ...

  2. 一次node-sass安装记录

    node-sass的版本是3.9.3 Please restart this script from an administrative PowerShell! 在当前powershell中执行下命令 ...

  3. 【转载】SQL语句中Union和Union All的区别

    在使用到SQL语句进行数据库查询的过程中,如果需要求两个数据集合的并集,一般会使用到联合查询关键字Union或者Union All,其实Union和Union All两者的使用有一定差别,查出来的数据 ...

  4. Spring Boot 和 Docker 实现微服务部署

    Spring boot 开发轻巧的微服务提供了便利,Docker 的发展又极大的方便了微服务的部署.这篇文章介绍一下如果借助 maven 来快速的生成微服务的镜像以及快速启动服务. 其实将 Sprin ...

  5. mysql-8.0 安装教程(自定义配置文件,密码方式已修改)

    下载zip安装包: MySQL8.0 For Windows zip包下载地址:https://dev.mysql.com/downloads/file/?id=476233,进入页面后可以不登录.后 ...

  6. 关于C# 中的布尔运算符 "&" "|” 与 其类似的条件布尔运算符 "&&" "||" 区别说明。

    运算符使用说明如下:  分隔符 ———————————————————————————— 分隔符 ———————————————————————————— 上述两个运算符的结果与&和 | 完全 ...

  7. SpringCloud-Eureka注册与发现

    这两年可以说微服务是热词,也是新领域,学习的成本也较高,基础东西太多比如什么Dubbo,zookeeper,Springboot等等.Dubbo也是实现服务治理又是阿里出的一套开源RPC框架,但是Sp ...

  8. 《JavaScript高级程序设计》笔记:使用Canvas绘图(15)

    基本用法 要使用<canvas>元素,必须先设置其width和height属性,指定可以绘图的区域大小.出现在开始和结束标签中的内容是后备信息,如果浏览器不支持<canvas> ...

  9. 5分钟掌握var,let和const异同

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://dzone.com/articles/javascript-difference-b ...

  10. composer在update时提示file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO

    在开发的时候,需要把依赖的服务更新到最新,然后 手动composer update一下,提示如下: failed) Update failed (The "e "https://a ...