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的更多相关文章

  1. ADO.NET - 全面梳理

    转自:http://www.cnblogs.com/yangcaogui/archive/2012/06/09/2537086.html 目录: 简单的介绍下ADO.NET SqlConnection ...

  2. ADO.NET梳理

    目录: 简单的介绍下ADO.NET SqlConnection(连接对象) SqlCommand(命令对象) SqlParameter(Sql参数) SqlDataReader(数据流读取器) Sql ...

  3. 008.MVC与数据库的交互

    使用ASP.NET MVC实现向数据库插入数据的步骤(程序): (删除,修改,查找)步骤1:创建数据库,创建要使用的表(数据) 表中可以事先插入测试数据步骤2:新建项目,写代码2.1)在配置文件中设置 ...

  4. ZAM 3D 制作简单的3D字幕 流程(二)

    原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...

  5. ZAM 3D 制作3D动画字幕 用于Xaml导出

    原地址-> http://www.cnblogs.com/yk250/p/5662788.html 介绍:对经常使用Blend做动画的人来说,ZAM 3D 也很好上手,专业制作3D素材的XAML ...

  6. 微信小程序省市区选择器对接数据库

    前言,小程序本身是带有地区选着器的(网站:https://mp.weixin.qq.com/debug/wxadoc/dev/component/picker.html),由于自己开发的程序的数据是很 ...

  7. osg编译日志

    1>------ 已启动全部重新生成: 项目: ZERO_CHECK, 配置: Debug x64 ------1> Checking Build System1> CMake do ...

  8. 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 中,执行该操作的另一种方法 ...

  9. SqlHelper中IN集合场景下的参数处理

    我手头有个古老的项目,持久层用的是古老的ADO.net.前两天去昆明旅游,其中的一个景点是云南民族村,通过导游介绍知道了一个古老的民族——基诺族,“基”在这个族内代表舅舅,“基诺”意为“跟在舅舅后边” ...

随机推荐

  1. JavaScript基础视频教程总结(001-010章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  2. 甲方安全建设之office365邮箱弱口令检测

    甲方安全建设之office365邮箱弱口令检测 信息收集 资产范围 资产列表总数是521 抓包后发现只有102 一番测试之后发现控制Response的关键在于MaxEntriesReturned字段, ...

  3. fscanf_s与scanf_s的宽度参数与缓冲区参数分析

    fscanf_s函数 在文件操作中经常会用到fscanf这个函数,但是在VC和VS中会有警告 意思是编译器觉得fscanf不安全,叫你考虑用一下fscanf_s这个函数来代替fscanf,fscanf ...

  4. LabVIEW(十六):多列列表框控件

    1.多列列表框控件:前面板右键>列表.表格和树>多列列表框2.默认情况下只显示列首,可设置显示行首:前面板选中多列列表框右键>显示>行首3.LabVIEW中提供42种自带的图标 ...

  5. Linux 环境下使用g++编译C++

    单个源文件生成可执行程序 下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: /* helloworld.cpp */ #include <iostream& ...

  6. vsftpd3.0.3配置

    2019.2.18更新 证实可用!!! 原文: 这两天测试在Ubuntu18.04上搭建一个ftp服务器,搜了一下大家都在用vsftpd,于是根据这个大佬的基础教程搭了一个,搭完一切正常,在windo ...

  7. HoloLens开发手记 - 手势输入 Gesture input

    手势是HoloLens三个首要输入形式之一.一旦你使用凝视定位了一个全息图像,手势允许你与它交互.手势输入允许你使用手或者点击器原生地与全息图像交互. 手势之外,你也可以在应用中使用语音输入来交互. ...

  8. iOS-Xcode解决【workspace integrity couldn't load project'】

    出现如标题提示的项目打不开情况,多半可能是因为Xcode版本不同,或者是SVN/Git使用导致 解决办法一: 删除冲突代码,"项目文件->Pod文件夹->Pods.xcodepr ...

  9. 元素 'beans' 必须不含字符 [子级], 因为该类型的内容类型为“仅元素”;Syntax error on token "Invalid Character";Server returned HTTP response code: 503 for URL;

    元素 'beans' 必须不含字符 [子级], 因为该类型的内容类型为“仅元素”:复制的代码有中文空格 Syntax error on token "Invalid Character&qu ...

  10. undefined 和 undeclared 的区别

    var a; //undefined b; // b is not defined 区别:在变量作用域中已经申明但没有赋值的变量(如 a),是undefined.相反,在变量作用域中没有申明过的变量, ...