SqlHelper 带详细中文注释


  1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 //对数据库进行操作引入命名空间
6 using System.Data;
7 using System.Data.SqlClient;
8 using System.Configuration;
9
10
11 namespace DAL
12 {
13 public class SQLhelper
14 {
15
16
17 /// 变量定义<summary>
18 /// </summary>
19 private SqlConnection conn = null;
20 private SqlCommand cmd = null;
21 private SqlDataReader sdr = null;
22
23 /// SQLhelper connStr 字符串的连接<summary>
24 /// </summary>
25 04 011
26 public SQLhelper()
27 {
28 string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; //连接SQL数据表
29 conn = new SqlConnection(connStr); //连接通道
30
31 }
32
33
34
35 /// 获取conn<summary>
36 /// </summary>
37 /// <returns>为什么要这样写有什么意义呢?</returns>
38 private SqlConnection GetConn()
39 {
40 if (conn.State == ConnectionState.Closed) //-判断当前连接的状态 如果当前的连接是关闭状态的话 结果为True
41 {
42 conn.Open(); //-打开数据库
43 }
44
45 return conn; //返回结果
46 }
47
48
49
50
51 /// 该方法传入一个增删改SQL语句或是存储过程<summary>
52 /// </summary>
53 /// <param name="sql">要执行的增删改SQL语句或是存储过程</param>
54 /// <returns>返回更新的记录数</returns>
55 public int ExecuteNonQuery(string cmdText,CommandType ct)
56 {
57 //-执行非查询 比如说 insert Updata Delect
58 //不定义的时候返回的初值是零
59 int res;
60 try
61 {
62 //-1、将预见可能引发异常的代码包含在try语句块中。
63 //-2、如果发生了异常,则转入catch的执行。
64 cmd = new SqlCommand(cmdText, GetConn());
65
66 cmd.CommandType = ct;
67 res = cmd.ExecuteNonQuery();
68 }
69 catch (Exception ex)
70 {
71 //-这将捕获任何发生的异常。另外,还提供e参数,你可以在处理异常时使用e参数来获得有关异常的信息。
72 throw ex;
73 }
74 finally
75 {
76 //-不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally
77 //-清理工作。如关闭数据库连接。
78 if (conn.State == ConnectionState.Open)
79 {
80 conn.Close();
81 }
82
83 }
84 return res; //-返回给调用者
85 }
86
87
88 /// 执行带参数的增删改语句或是存储过程<summary>
89 /// 执行带参数的增删改语句或是存储过程
90 /// </summary>
91 /// <param name="sql">带参数的SQL语句或是存储过程</param>
92 /// <param name="paras">参数集合</param>
93 /// <returns></returns>
94
95 public int ExecuteNonQuery(string cmdText, SqlParameter[] paras,CommandType ct)
96 {
97 int res;
98 using (cmd = new SqlCommand(cmdText, GetConn()))
99 {
100 cmd.CommandType = ct;
101 cmd.Parameters.AddRange(paras); //将每个查询出的数 添加到数组
102
103 res = cmd.ExecuteNonQuery();
104 }
105
106 return res;
107
108 }
109
110
111 /// 该方法传入一个查询SQL语句或是存储过程<summary>
112 /// 该方法传入一个查询SQL语句或是存储过程
113 /// </summary>
114 /// <param name="cmtText">SQL查询语句或存储过程</param>
115 /// <returns></returns>
116 public DataTable ExecuteQuery(string cmtText,CommandType ct)
117 {
118 DataTable dt = new DataTable();
119 cmd = new SqlCommand(cmtText, GetConn());
120 cmd.CommandType = ct;
121 //关系sdr的同是将会关闭conn
122 using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
123 {
124 dt.Load(sdr);
125 }
126 return dt;
127 }
128
129
130 /// 执行带参数的SQL语句或是存储过程<summary>
131 /// 执行带参数的SQL语句或是存储过程
132 /// </summary>
133 /// <param name="cmdText">SQL语句或是存储过程</param>
134 /// <param name="paras"></param>
135 /// <returns></returns>
136 public DataTable ExecuteQuery(string cmdText, SqlParameter[] paras,CommandType ct)
137 {
138 DataTable dt = new DataTable();
139
140 cmd = new SqlCommand(cmdText, GetConn());
141 cmd.CommandType = ct;
142 cmd.Parameters.AddRange(paras);
143 //关系sdr的同是将会关闭conn
144 using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
145 {
146 dt.Load(sdr);
147 }
148 return dt;
149 }
150
151 }
152
153 }

SqlHelper 带详细中文注释

时间: 2024-11-01 11:28:57

SqlHelper 带详细中文注释的相关文章

高并发 WEB 服务器 nginx 源码通读中文分析注释,带详细函数注释及函数调用注释,附 github 地址,后期持续维护更新

github地址:https://github.com/y123456yz/reading-code-of-nginx-1.9.2 对源码通读注释,函数进行了详细注释.同时对相关功能进行了优化,日志功能分析能力更易懂. github 地址下载: https://github.com/y123456yz/reading-code-of-nginx-1.9.2 或者在 github 官网搜索 reading-code-of-nginx-1.9.2

QT学习 之 对话框 (四) 字体对话框、消息对话框、文件对话框、进程对话框(超详细中文注释)

QMessageBox类: 含有Question消息框.Information消息框.Warning消息框和Critical消息框等 通常有两种方式可以来创建标准消息对话框: 一种是采用“基于属性”的API,一种是使用QMessageBox的静态方法. 后者书写容易,但缺少灵活性,针对用户给出的提示的信息不够丰富,并且不能自定义消息对话框里面的按钮提示信息.因此推荐第一种写法. [cpp] view plaincopy <span style="font-size:18px;"&

qt下的时钟程序(简单美丽,继承自QWidget的Clock,用timer调用update刷新,然后使用paintEvent作画就行了,超详细中文注释)good

最近抽空又看了下qt,发现用它来实现一些东西真的很容易比如下面这个例子,绘制了个圆形的时钟,但代码却清晰易懂[例子源自奇趣科技提供的例子]因为清晰,所以就只写注释了,吼吼其实也就这么几行代码头文件 //clock.h #ifndef CLOCK_H#define CLOCK_H #include <QWidget> class Clock : public QWidget{//对于具有signal,slot机制的类需要声明    Q_OBJECT public:    Clock(QWidge

30多个iOS常用动画,带详细注释

// //  CoreAnimationEffect.h //  CoreAnimationEffect // //  Created by VincentXue on 13-1-19. //  Copyright (c) 2013年 VincentXue. All rights reserved. // #import <Foundation/Foundation.h> /**  !  导入QuartzCore.framework  *  *  Example:  *  *  Step.1

Light OJ - 1026 - Critical Links(图论-Tarjan算法求无向图的桥数) - 带详细注释

 原题链接   无向连通图中,如果删除某边后,图变成不连通,则称该边为桥. 也可以先用Tajan()进行dfs算出所有点 的low和dfn值,并记录dfs过程中每个 点的父节点:然后再把所有点遍历一遍, 看其low和dfn,满足dfn[ fa ]<low[ i ](0<i<=n, i 的 father为fa) -- 则桥为fa-i. 找桥的时候,要注意看有没有重边:有重边,则不是桥. 另外,本题的题意及测试样例中没有重边,所以不用考虑重边. 带详细注释的题解: #include<s

CocosCreator手记02——Examples中文注释目录

任何游戏引擎的都会有一套例子库.用于展示引擎的功能和API的用法. 最近看CocosCreator引擎附带的例子库.目前来说这套Cocos系列引擎的最新版,很有诚意,对比老引擎.加入了很多新的内容.比如资源下载器装载器,各种布局管理工具.预制资源.网络库.碰撞系统.也预留了扩展接口.当然整个引擎也支持插件式扩展. 可惜的是,这份例子是1.5版的,但是没有演示1.5新加的功能,比如物理引擎,摄像机等.另外,个别例子需要对应平台才能跑,在有些平台跑不了.有些例子功能重复,或无法正确演示.但这些都是小

Mybatis Generator的model生成中文注释,支持oracle和mysql(通过修改源码的方式来实现)

在看本篇之前,最好先看一下上一篇通过实现CommentGenerator接口的方法来实现中文注释的例子,因为很多操作和上一篇基本是一致的,所以本篇可能不那么详细. 首先说一下上篇通过实现CommentGenerator接口的一些不足,毕竟只是实现了CommentGenerator接口,在里面的方法再怎么改,有效的也只是针对model类,并且使用的人大概也发现了,里面的addClassComment方法都知道是在类文件上面生成注释,但是无论我们在这个方法实现里写什么都没有效果,其实因为MGB默认是

Eclipse中中文注释字体太小的解决方案

Eclipse中输入中文注释,发现字太小气,肿么办?一番摸索之后,发现可以这样解决. 方法/步骤 首先,选择windows->preference   在这里如图进行选择,最后点击edit按钮   将默认的西欧方式,改为中欧方式,确认即可 步骤阅读 4 再次,查看注释,终于不用带放大镜了!

Mybatis Generator的model生成中文注释,支持oracle和mysql(通过实现CommentGenerator接口的方法来实现)

在看本篇之前,最好先看一下上一篇通过实现CommentGenerator接口的方法来实现中文注释的例子,因为很多操作和上一篇基本是一致的,所以本篇可能不那么详细. 首先说一下上篇通过实现CommentGenerator接口的一些不足,毕竟只是实现了CommentGenerator接口,在里面的方法再怎么改,有效的也只是针对model类,并且使用的人大概也发现了,里面的addClassComment方法都知道是在类文件上面生成注释,但是无论我们在这个方法实现里写什么都没有效果,其实因为MGB默认是