ADO.Net笔记整理(一)
几次装机,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笔记整理(一)的更多相关文章
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- 从0开始学Swift笔记整理(五)
这是跟在上一篇博文后续内容: --Core Foundation框架 Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.虽然在Sw ...
- Deep Learning(深度学习)学习笔记整理系列之(五)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- 学习ReactNative笔记整理一___JavaScript基础
学习ReactNative笔记整理一___JavaScript基础 ★★★笔记时间- 2017-1-9 ★★★ 前言: 现在跨平台是一个趋势,这样可以减少开发和维护的成本.第一次看是看的ReactNa ...
- Deep Learning(深度学习)学习笔记整理系列之(八)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(七)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(六)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(四)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(三)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
随机推荐
- Django-restframework 源码之认证组件源码分析
Django-restframework 源码之认证组件源码分析 一 前言 之前在 Django-restframework 的流程分析博客中,把最重要的关于认证.权限和频率的方法找到了.该方法是 A ...
- ioc初步理解(二) 简单实用autofac搭建mvc三层+automapper=》ioc(codeFirst)
之前在园子闲逛的时候,发现许多关于automapper的文章,以及用aotufac+automapper合在一起用.当然发现大多数文章是将automapper的特点说出或将automapper几处关键 ...
- 物联网RFID技术之应用ETC系统
背景 信息物理系统CPS通过集成先进的感知.计算.通 信.控制等信息技术和自动控制技术,构建了物理空间与信息空间中人. 机.物.环境.信息等要素相互映射.适时交互.高效协同的复杂系统, 实现系统内资源 ...
- jdbc封装的类
JDBCUtil,java package cn.qst.util; import java.sql.Connection;import java.sql.DriverManager;import j ...
- Hadoop综合大作业
Hadoop综合大作业 要求: 用Hive对爬虫大作业产生的文本文件(或者英文词频统计下载的英文长篇小说)词频统计. 用Hive对爬虫大作业产生的csv文件进行数据分析 1. 用Hive对爬虫大作业产 ...
- 获取元素CSS样式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 基于python开发的股市行情看板
个人博客: https://mypython.me 近期股市又骚动起来,回忆起昔日炒股经历,历历在目,悲惨经历让人黯然神伤,去年共投入4000元入市,最后仅剩1000多,无奈闭关修炼,忘记股市,全身心 ...
- Android为TV端助力转载:码农小阿飞(SpannableString)
用SpannableString打造绚丽多彩的文本显示效果 引语 TeXtView大家应该都不陌生,文本展示控件嘛! 就用TextView显示普普通通的文本,OK,很简单,Android入门的都会,没 ...
- mac git从代码仓库克隆代码,修改并上传
1:添加本地秘钥到代码仓库中 open ~/ .ssh 以github为例: mac 命令行输入open ~/ .ssh,打开id_rsa.pub文件中的内容,复制到github->settin ...
- Python安装第三方包(模块/工具)出现链接超时,网速慢,安装不上的问题如何解决
之前我的电脑重新装了系统以后,发现安装完Python后, 使用pip linstall 安装第三方包的时候,网速慢的一匹 有时候只有几百b/s ,而且还动不动就会出现无法安装,链接超时等问题. 今天我 ...