SqlHelper 1.0
SqlHelper类,可以简化对数据库的操作。
将程序中需要经常用到的数据库操作,如:连接字符串、对数据的增、删、改、查封装成“SqlHelper”类中的静态属性,方便在程序各部分进行调用。
增(insert)、删(delete)、改(update)语句用ExecuteNonQuery()方法进行封装;
查询(select)语句用ExecuteReader()方法进行封装。
把连接字符串定义为SqlHelper静态属性
class SqlHelper
{
/// <summary>
/// 数据库连接字符串
/// </summary>
public static string connString = "Data Source=192.168.217.131;Initial Catalog=MyProduct;User ID=sa;Password=1";
}
用ExecuteNonQuery()方法进行增、删、改 语句的封装,用“static”定义为静态方法便于访问。
传入”SQL语句”和“SQL语句对应参数“作为执行参数,返回执行影响行数
/// <summary>
/// 增、删、改语句执行,返回影响行数
/// </summary>
/// <param name="sql">需要执行的sql语句</param>
/// <param name="ps">sql语句中的参数列表</param>
/// <returns></returns>
public static int Execute(string sql, params SqlParameter[] ps)
{
SqlConnection conn = new SqlConnection(SqlHelper.connString);
conn.Open();
SqlCommand comm = new SqlCommand(sql, conn);
if (ps != null)
{
comm.Parameters.AddRange(ps);//
}
return comm.ExecuteNonQuery();
}
用ExecuteReader();方法进行查询封装,返回SqlDataReader类型数据。用“static”定义为静态方法便于访问。
Parameters.AddRange();添加一个参数数组。
Parameters.Add();添加一个参数。
CommandBehavior.CloseConnection;如果关闭关联的DataReader对象,则关闭关联的Connection对象.
调用时需要注意通过关闭SqlDataReader对象,关闭连接。
/// </summary>
/// <param name="sql">需要执行的sql语句</param>
/// <param name="ps">sql语句中的参数列表</param>
/// <returns></returns>
public static SqlDataReader Read(string sql, params SqlParameter[] ps)
{
SqlConnection conn = new SqlConnection(SqlHelper.connString);
conn.Open();
SqlCommand comm = new SqlCommand(sql, conn);
if (ps != null)
{
comm.Parameters.AddRange(ps);
}
return comm.ExecuteReader(CommandBehavior.CloseConnection);
//如果关闭关联的DataReader对象,则关闭关联的Connection对象.
}
SqlHelper 1.0的更多相关文章
- ADO.NET - 全面梳理
转自:http://www.cnblogs.com/yangcaogui/archive/2012/06/09/2537086.html 目录: 简单的介绍下ADO.NET SqlConnection ...
- ADO.NET梳理
目录: 简单的介绍下ADO.NET SqlConnection(连接对象) SqlCommand(命令对象) SqlParameter(Sql参数) SqlDataReader(数据流读取器) Sql ...
- 008.MVC与数据库的交互
使用ASP.NET MVC实现向数据库插入数据的步骤(程序): (删除,修改,查找)步骤1:创建数据库,创建要使用的表(数据) 表中可以事先插入测试数据步骤2:新建项目,写代码2.1)在配置文件中设置 ...
- ZAM 3D 制作简单的3D字幕 流程(二)
原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...
- ZAM 3D 制作3D动画字幕 用于Xaml导出
原地址-> http://www.cnblogs.com/yk250/p/5662788.html 介绍:对经常使用Blend做动画的人来说,ZAM 3D 也很好上手,专业制作3D素材的XAML ...
- 微信小程序省市区选择器对接数据库
前言,小程序本身是带有地区选着器的(网站:https://mp.weixin.qq.com/debug/wxadoc/dev/component/picker.html),由于自己开发的程序的数据是很 ...
- osg编译日志
1>------ 已启动全部重新生成: 项目: ZERO_CHECK, 配置: Debug x64 ------1> Checking Build System1> CMake do ...
- EF Core使用SQL调用返回其他类型的查询 ASP.NET Core 2.0 使用NLog实现日志记录 CSS 3D transforms cSharp:use Activator.CreateInstance with an Interface? SqlHelper DBHelper C# Thread.Abort方法真的让线程停止了吗? 注意!你的Thread.Abort方法真
EF Core使用SQL调用返回其他类型的查询 假设你想要 SQL 本身编写,而不使用 LINQ. 需要运行 SQL 查询中返回实体对象之外的内容. 在 EF Core 中,执行该操作的另一种方法 ...
- SqlHelper中IN集合场景下的参数处理
我手头有个古老的项目,持久层用的是古老的ADO.net.前两天去昆明旅游,其中的一个景点是云南民族村,通过导游介绍知道了一个古老的民族——基诺族,“基”在这个族内代表舅舅,“基诺”意为“跟在舅舅后边” ...
随机推荐
- centos 7下 django 1.11 + nginx 1.12 + uwsgi 2.0
之前写过一个博客关于如何安装django的,见下网址, http://www.cnblogs.com/qinhan/p/8732626.html 还有一个网址如何安装nginx的 http://www ...
- 2019swpuj2ee作业3
静态页面: 在网站设计中,纯粹html格式的网页通常被称为“静态网页”,早期的网站一般都是由静态网页制作的.静态网页是相对于动态网页而言,是指没有后台数据库.不含程序和不可交互的网页.你编的是什么它显 ...
- Codeforces791 B. Bear and Friendship Condition
B. Bear and Friendship Condition time limit per test 1 second memory limit per test 256 megabytes in ...
- day_1 Python介绍及计算机组成和系统
python学习路线 基础语法 - 文件操作 - 函数 - 模块 - 面向对象(类) - 网络编程 - 数据库 - 前段 - 项目 学习方法 wwwh: what-why-where-how #wha ...
- Java字符串池(String Pool)深度解析
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 在工作中,String类是我们使用频率非常高的一种对象类型.JVM为了提升性能和减少内存开销,避免字符串的重复创建,其维护了一块特殊的内存 ...
- linux安全加固浅谈
难易程度:★★★阅读点:linux;python;web安全;文章作者:xiaoye文章来源:i春秋关键字:网络渗透技术 前言linux被越来越多的企业使用,因此掌握一些基本的linux安全加固是有必 ...
- TCP/UDP OSI_layer 4
这篇文章主要复习OSI模型中的第4层:传输层,主要包含两个协议TCP .UDP. Transport 传输层 多路复用: 一个协议为多个上层协议或者多个上层应用提供一个统一的服务 TCP/UDP 通过 ...
- Dispatch Queue 之内存中常驻的几个结构
_dispatch_main_q 也就是主要主队列,一定运行在主线程里. // 6618342 Contact the team that owns the Instrument DTrace pro ...
- javascript实现二分法
js 实现数组查找二分法 二分法实现原理:二分查找可以解决已经排好序数组的查找问题:只要数组中包含target(即要查找的值),那么通过不断缩小包含target数组的范围,最终就可以找到它. 其算法流 ...
- 微信开发之获取openid及推送模板消息
有很多的朋友再问我怎么获取code,openid之类的问题,在这里我就给大家分享一下. 在做微信支付是需要获取openid的,推送模板消息也是需要openid包括其他一些功能分享等也都是需要的,ope ...