SqlHelper 带详细中文注释
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//对数据库进行操作引入命名空间
using System.Data;
using System.Data.SqlClient;
using System.Configuration; namespace DAL
{
public class SQLhelper
{ /// 变量定义<summary>
/// </summary>
private SqlConnection conn = null;
private SqlCommand cmd = null;
private SqlDataReader sdr = null; /// SQLhelper connStr 字符串的连接<summary>
/// </summary> public SQLhelper()
{
string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; //连接SQL数据表
conn = new SqlConnection(connStr); //连接通道 } /// 获取conn<summary>
/// </summary>
/// <returns>为什么要这样写有什么意义呢?</returns>
private SqlConnection GetConn()
{
if (conn.State == ConnectionState.Closed) //-判断当前连接的状态 如果当前的连接是关闭状态的话 结果为True
{
conn.Open(); //-打开数据库
} return conn; //返回结果
} /// 该方法传入一个增删改SQL语句或是存储过程<summary>
/// </summary>
/// <param name="sql">要执行的增删改SQL语句或是存储过程</param>
/// <returns>返回更新的记录数</returns>
public int ExecuteNonQuery(string cmdText,CommandType ct)
{
//-执行非查询 比如说 insert Updata Delect
//不定义的时候返回的初值是零
int res;
try
{
//-1、将预见可能引发异常的代码包含在try语句块中。
//-2、如果发生了异常,则转入catch的执行。
cmd = new SqlCommand(cmdText, GetConn()); cmd.CommandType = ct;
res = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
//-这将捕获任何发生的异常。另外,还提供e参数,你可以在处理异常时使用e参数来获得有关异常的信息。
throw ex;
}
finally
{
//-不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally
//-清理工作。如关闭数据库连接。
if (conn.State == ConnectionState.Open)
{
conn.Close();
} }
return res; //-返回给调用者
} /// 执行带参数的增删改语句或是存储过程<summary>
/// 执行带参数的增删改语句或是存储过程
/// </summary>
/// <param name="sql">带参数的SQL语句或是存储过程</param>
/// <param name="paras">参数集合</param>
/// <returns></returns> public int ExecuteNonQuery(string cmdText, SqlParameter[] paras,CommandType ct)
{
int res;
using (cmd = new SqlCommand(cmdText, GetConn()))
{
cmd.CommandType = ct;
cmd.Parameters.AddRange(paras); //将每个查询出的数 添加到数组 res = cmd.ExecuteNonQuery();
} return res; } /// 该方法传入一个查询SQL语句或是存储过程<summary>
/// 该方法传入一个查询SQL语句或是存储过程
/// </summary>
/// <param name="cmtText">SQL查询语句或存储过程</param>
/// <returns></returns>
public DataTable ExecuteQuery(string cmtText,CommandType ct)
{
DataTable dt = new DataTable();
cmd = new SqlCommand(cmtText, GetConn());
cmd.CommandType = ct;
//关系sdr的同是将会关闭conn
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
return dt;
} /// 执行带参数的SQL语句或是存储过程<summary>
/// 执行带参数的SQL语句或是存储过程
/// </summary>
/// <param name="cmdText">SQL语句或是存储过程</param>
/// <param name="paras"></param>
/// <returns></returns>
public DataTable ExecuteQuery(string cmdText, SqlParameter[] paras,CommandType ct)
{
DataTable dt = new DataTable(); cmd = new SqlCommand(cmdText, GetConn());
cmd.CommandType = ct;
cmd.Parameters.AddRange(paras);
//关系sdr的同是将会关闭conn
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
return dt;
} } }
SqlHelper 带详细中文注释的更多相关文章
- QT学习 之 对话框 (四) 字体对话框、消息对话框、文件对话框、进程对话框(超详细中文注释)
QMessageBox类: 含有Question消息框.Information消息框.Warning消息框和Critical消息框等 通常有两种方式可以来创建标准消息对话框: 一种是采用“基于属性”的 ...
- Mybatis Generator生成数据库自带的中文注释
1.相关jar包 <!-- mybatis生成 jar包 --> <dependency> <groupId>org.mybatis.generator</g ...
- qt下的时钟程序(简单美丽,继承自QWidget的Clock,用timer调用update刷新,然后使用paintEvent作画就行了,超详细中文注释)good
最近抽空又看了下qt,发现用它来实现一些东西真的很容易比如下面这个例子,绘制了个圆形的时钟,但代码却清晰易懂[例子源自奇趣科技提供的例子]因为清晰,所以就只写注释了,吼吼其实也就这么几行代码头文件 / ...
- Light OJ - 1026 - Critical Links(图论-Tarjan算法求无向图的桥数) - 带详细注释
原题链接 无向连通图中,如果删除某边后,图变成不连通,则称该边为桥. 也可以先用Tajan()进行dfs算出所有点 的low和dfn值,并记录dfs过程中每个 点的父节点:然后再把所有点遍历一遍 ...
- C#/WPF/WinForm/.NET程序代码实现软件程序开机自动启动的两种常用方法的示例与源码下载带详细注释-源码代码-注册表方式-启动目录快捷方式
C#/WPF/WinForm/.NET程序代码实现软件程序开机自动启动的两种常用方法的示例与源码下载带详细注释-源码代码-注册表方式-启动目录快捷方式 C#实现自动启动的方法-两种方法 源码下载地址: ...
- Php.ini 中文注释详细
Php.ini 中文注释 这个文件控制了PHP许多方面的观点.为了让PHP读取这个文件,它必须被命名为 ; ´php.ini´.PHP 将在这些地方依次查找该文件:当前工作目录:环境变量PHPRC ...
- Mybatis Generator的model生成中文注释,支持oracle和mysql(通过修改源码的方式来实现)
在看本篇之前,最好先看一下上一篇通过实现CommentGenerator接口的方法来实现中文注释的例子,因为很多操作和上一篇基本是一致的,所以本篇可能不那么详细. 首先说一下上篇通过实现Comment ...
- 关闭shift中英文切换 英文代码/中文注释随意切换着写。
x 背景 写代码的时候总是意外的就切成中文了,特别是代码中大小写切换的这种情况... 例如:"public static TimeZone CurrentTime..."publi ...
- [UE4]在C++中使用中文变量和中文注释
一.如果直接在C++中使用中文变量名称,在UE4中编译是会出错的,方法的中文注释也会在UE4中变成乱码 二.只要将h文件和cpp文件用记事本另存为utf-8编码就可以了. 也可以配置VS环境: 如何解 ...
随机推荐
- spring @bean注解
1.@bean注解用于注册一个bean到 到ioc容器中.类似于@component注解 2.@configure注解,相当于指明这个类是配置文件 3.@bean还可以指定initMethod,des ...
- <<c 和指针 >> 部分笔记。
最近竟然对指针有些迷惑了,分不清指针的指向.废话少说,复习.(下面内容来自<<c和指针>>) =指针 ==内存和地址 尽管一个字包含了4个字节,它仍然只有一个地址.至于是最左边 ...
- MariaDB10.2.X-新特性1-支持分析函数
前言:前段时间看到MariaDB10.2出测试版本了,心想有什么新特性玩玩,大家都知道MySQL不支持分析函数,但是MariaDB10.2.X支持分析函数了, 1.表结构 CREATE TABLE ` ...
- linux下文件夹的创建、复制、剪切、重命名、清空和删除命令
在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinozzz 一.目录创建 在/home/wwwroot目录下新建一个sinozzz123的 ...
- VS2015中的异常配置
The New Exception Settings Window in Visual Studio 2015Managing Exceptions with the Debugger Underst ...
- 查看局域网内某个ip的mac地址
首先需要ping一下对方的ip,确保本地的arp表中缓存对方的ip和mac的关系 C:\Windows\System32>ping 192.168.1.231 正在 Ping 192.168 ...
- Oracle过程包加密
Oracle加绕功能可以将PL/SQL代码实现部分隐藏,如存储过程.函数.包体等均可使用加绕功能,下面以一个存储过程实现部分加绕来展示Oracle加绕功能的使用. 加绕方法一: 1.编写如下存储过程 ...
- sql server删除数据后空间无变化处理方法
删除数据库表 第一步: 执行 delete from doc.115sou.com #删除数据,执行效率低 drop table doc.115sou.com #删除表 ...
- 转:MVC3系列:~Html.BeginForm与Ajax.BeginForm
Html.BeginForm与Ajax.BeginForm都是MVC架构中的表单元素,它们从字面上可以看到区别,即Html.BeginForm是普通的表单提交,而Ajax.BeginForm是支持异步 ...
- 解决jQuery对表单serialize后出现的乱码问题
通过看jQuery源码可以知道,serialize方法是通过encodeURIComponent编码的,所以解决乱码的最笨方法: 1.重新分解序列化后的值 2.把分解的值重新decodeURICo ...