SQL语句操作增删查改助手类

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Configuration;
  4. using System.Data;
  5. using System.Data.SqlClient;
  6. using System.Text;
  7.  
  8. namespace Ecio_Admin
  9. {
  10. /// <summary>SQL数据库助手类</summary>
  11. public class SqlHelper
  12. {
  13. //Sql连接语句
  14. /*注意引用System.Configuration
  15. * <connectionStrings>
  16. * <add name="YcSqlCon"
  17. * connectionString="Data Source=服务器;Initial Catalog=数据库;User ID=登录名;Password=密码"
  18. * providerName="System.Data.SqlClient"/>
  19. * </connectionStrings>
  20. */
  21. private string connectionString = ConfigurationManager.ConnectionStrings["JRJ_DBConnectionString"].ConnectionString;
  22. //private string connectionString = "";
  23. //public SqlHelper(string sqlPath)
  24. //{
  25. // //实例化对应的数据库链接
  26. // connectionString = ConfigurationManager.ConnectionStrings[sqlPath].ConnectionString;
  27. //}
  28.  
  29. /// <summary>执行不带参数的增删改SQL语句或存储过程 ,返回受影响的行数</summary>
  30. public int ExecuteNonQuery(string cmdText)
  31. {
  32. int res = ;//受影响的行数
  33. using (SqlConnection conn = new SqlConnection(connectionString))
  34. {
  35. try
  36. {
  37. conn.Open();//打开数据库链接
  38. using (SqlCommand cmd = new SqlCommand(cmdText, conn))
  39. {
  40. cmd.CommandType = CommandType.Text;
  41. res = cmd.ExecuteNonQuery();//执行Sql语句并受影响的行数
  42. }
  43. }
  44. catch
  45. {
  46.  
  47. }
  48. finally
  49. {
  50. if (conn.State == ConnectionState.Open)//判断连接是否处于打开状态
  51. {
  52. conn.Close();//关闭与数据库的链接
  53. }
  54. }
  55. }
  56. return res;
  57. }
  58.  
  59. /// <summary> 执行带参数的增删改SQL语句或存储过程,返回受影响的行数</summary>
  60. public int ExecuteNonQuery(string cmdText, params object[] paras)
  61. {
  62. int res = ;//受影响的行数
  63. using (SqlConnection conn = new SqlConnection(connectionString))
  64. {
  65. try
  66. {
  67. conn.Open();//打开数据库链接
  68. using (SqlCommand cmd = new SqlCommand(cmdText, conn))
  69. {
  70. cmd.CommandType = CommandType.Text;
  71. //cmd.Parameters.AddRange(paras);//添加参数数组
  72. if (paras != null)
  73. {
  74. for (int i = ; i < paras.Length; i++)
  75. {
  76. cmd.Parameters.AddWithValue("@" + i, paras[i]);
  77. }
  78. }
  79. res = cmd.ExecuteNonQuery();//执行Sql语句并受影响的行数
  80. }
  81. }
  82. catch
  83. {
  84.  
  85. }
  86. finally
  87. {
  88. if (conn.State == ConnectionState.Open)//判断连接是否处于打开状态
  89. {
  90. conn.Close();//关闭与数据库的链接
  91. }
  92. }
  93. }
  94. return res;
  95. }
  96.  
  97. /// <summary> 执行不带参数的查询SQL语句或存储过程,返回DataTable对象</summary>
  98. public DataTable ExecuteQueryDataTable(string cmdText)
  99. {
  100. DataTable dt = new DataTable();
  101. using (SqlConnection conn = new SqlConnection(connectionString))
  102. {
  103. try
  104. {
  105. conn.Open();//打开数据库链接
  106. using (SqlCommand cmd = new SqlCommand(cmdText, conn))
  107. {
  108. cmd.CommandType = CommandType.Text;
  109. using (SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
  110. {
  111. dt.Load(sdr);
  112. }
  113. }
  114. }
  115. catch
  116. {
  117.  
  118. }
  119. finally
  120. {
  121. if (conn.State == ConnectionState.Open)//判断连接是否处于打开状态
  122. {
  123. conn.Close();//关闭与数据库的链接
  124. }
  125. }
  126. }
  127. return dt;
  128. }
  129.  
  130. /// <summary> 执行带参数的查询SQL语句或存储过程,返回DataTable对象</summary>
  131. public DataTable ExecuteQueryDataTable(string cmdText, params object[] paras)
  132. {
  133. DataTable dt = new DataTable();
  134. using (SqlConnection conn = new SqlConnection(connectionString))
  135. {
  136. try
  137. {
  138. conn.Open();//打开数据库链接
  139. using (SqlCommand cmd = new SqlCommand(cmdText, conn))
  140. {
  141. cmd.CommandType = CommandType.Text;
  142. //cmd.Parameters.AddRange(paras);
  143. if (paras != null)
  144. {
  145. for (int i = ; i < paras.Length; i++)
  146. {
  147. cmd.Parameters.AddWithValue("@" + i, paras[i]);
  148. }
  149. }
  150. using (SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
  151. {
  152. dt.Load(sdr);
  153. }
  154. }
  155. }
  156. catch
  157. {
  158.  
  159. }
  160. finally
  161. {
  162. if (conn.State == ConnectionState.Open)//判断连接是否处于打开状态
  163. {
  164. conn.Close();//关闭与数据库的链接
  165. }
  166. }
  167. }
  168. return dt;
  169. }
  170.  
  171. /// <summary> 执行不带参数的查询SQL语句或存储过程,返回DataSet对象</summary>
  172. public DataSet ExecuteQueryDataSet(string cmdText)
  173. {
  174. DataSet ds = new DataSet();
  175. using (SqlConnection conn = new SqlConnection(connectionString))
  176. {
  177. try
  178. {
  179. conn.Open();//打开数据库链接
  180. using (SqlCommand cmd = new SqlCommand(cmdText, conn))
  181. {
  182. cmd.CommandType = CommandType.Text;
  183. using (SqlDataAdapter da = new SqlDataAdapter(cmd))
  184. {
  185. da.Fill(ds, "ds");
  186. }
  187. }
  188. }
  189. catch
  190. {
  191.  
  192. }
  193. finally
  194. {
  195. if (conn.State == ConnectionState.Open)//判断连接是否处于打开状态
  196. {
  197. conn.Close();//关闭与数据库的链接
  198. }
  199. }
  200. }
  201. return ds;
  202. }
  203.  
  204. /// <summary> 执行带参数的查询SQL语句或存储过程,返回DataSet对象</summary>
  205. public DataSet ExecuteQueryDataSet(string cmdText, params object[] paras)
  206. {
  207. DataSet ds = new DataSet();
  208. using (SqlConnection conn = new SqlConnection(connectionString))
  209. {
  210. try
  211. {
  212. conn.Open();//打开数据库链接
  213. using (SqlCommand cmd = new SqlCommand(cmdText, conn))
  214. {
  215. cmd.CommandType = CommandType.Text;
  216. //cmd.Parameters.AddRange(paras);
  217. if (paras != null)
  218. {
  219. for (int i = ; i < paras.Length; i++)
  220. {
  221. cmd.Parameters.AddWithValue("@" + i, paras[i]);
  222. }
  223. }
  224. using (SqlDataAdapter da = new SqlDataAdapter(cmd))
  225. {
  226. da.Fill(ds, "ds");
  227. }
  228. }
  229. }
  230. catch
  231. {
  232.  
  233. }
  234. finally
  235. {
  236. if (conn.State == ConnectionState.Open)//判断连接是否处于打开状态
  237. {
  238. conn.Close();//关闭与数据库的链接
  239. }
  240. }
  241. }
  242. return ds;
  243. }
  244.  
  245. /// <summary>查询数据是否存在</summary>
  246. public bool ExecuteDataIsExistByData(string sqlStr)
  247. {
  248. bool iss = false;
  249. DataSet ds = ExecuteQueryDataSet(sqlStr);
  250. for (int i = ; i < ds.Tables.Count; i++)
  251. {
  252. if (ds.Tables[i].Rows.Count > ) iss = true;
  253. }
  254. return iss;
  255. }
  256.  
  257. /// <summary>查询数据是否存在 </summary>
  258. public bool ExecuteDataIsExistByData(string sqlStr, params object[] paras)
  259. {
  260. bool iss = false;
  261. DataSet ds = ExecuteQueryDataSet(sqlStr, paras);
  262. for (int i = ; i < ds.Tables.Count; i++)
  263. {
  264. if (ds.Tables[i].Rows.Count > ) iss = true;
  265. }
  266. return iss;
  267. }
  268.  
  269. /// <summary>查询增删改数据操作是否成功 </summary>
  270. public bool ExecuteDataIsExistByInt(string sqlStr)
  271. {
  272. int ds = ExecuteNonQuery(sqlStr);
  273. bool iss = ds > ? true : false;
  274. return iss;
  275. }
  276.  
  277. /// <summary>查询增删改数据操作是否成功 </summary>
  278. public bool ExecuteDataIsExistByInt(string sqlStr, params object[] paras)
  279. {
  280. int ds = ExecuteNonQuery(sqlStr, paras);
  281. bool iss = ds > ? true : false;
  282. return iss;
  283. }
  284. }
  285. }

ADO.NET数据库操作助手类的更多相关文章

  1. 【转载】微软官方提供的Sqlserver数据库操作帮助类SQLHelper类

    在.NET平台中,C#语言一般使用ADO.NET组件来操作Sqlserver数据库,通过ADO.NET组件可以实现连接数据库.查询数据集.执行SQL语句以及关闭数据库连接等操作,为此网上有很多开发者自 ...

  2. 第三百零七节,Django框架,models.py模块,数据库操作——表类容的增删改查

    Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...

  3. 五 Django框架,models.py模块,数据库操作——表类容的增删改查

    Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...

  4. MFC中使用ADO进行数据库操作

    参考FROM:http://hi.baidu.com/sunkanghome/item/e1fda510b3186359f1090ee2 数据库与数据库编程: 当前各种主流数据库有很多,包括Oracl ...

  5. OSChina底层数据库操作的类(QueryHelper)源代码

    OSChina 使用的是 dbutils 这个JDBC的封装类库来进行数据库操作. 而 QueryHelper 则是在 dbutils 的基础上进行一级简单的封装,提供一些经常使用的数据库操作方法和对 ...

  6. ADO.NET 数据库操作类

    操作数据类 避免代码重用.造对象太多.不能分工开发 利用面向对象的方法,把数据访问的方式优化一下,利用封装类   一般封装成三个类: 1.数据连接类 提供数据连接对象 需要引用命名空间: using ...

  7. SQLserver数据库操作帮助类SqlHelper

    1 SqlHelper源码 using System; using System.Data; using System.Xml; using System.Data.SqlClient; using ...

  8. tp5数据库操作 Db类

    一.链接数据库 1.配置文件定义  application\database.php 注意:数据表前缀更改,在文件的prefix选项 2.类定义 二.数据库的基本使用 namespace app\de ...

  9. Discuz!数据库操作DB类和C::t类介绍

    类定义文件 DB类: 文件\source\class\class_core.php class DB extends discuz_database {} discuz_database类定义 文件\ ...

随机推荐

  1. 读javascript高级程序设计02-变量作用域

    一. 延长作用域链 有些语句可以在作用域前端临时增加一个变量对象,该变量对象在代码执行完成后会被移除. ①with语句延长作用域. function buildUrl(){ var qs=" ...

  2. 利用OVER开窗函数分页

    在SQL Server中,利用SQL进行分页的方法也有很多,今天要总结的是SQL Server 2005中引入的OVER开窗口函数,然后利用开窗函数进行分页. 示例代码如下: -- 设置数据库上下文 ...

  3. iOS开发UI篇—Quartz2D简单介绍

    iOS开发UI篇—Quartz2D简单介绍 一.什么是Quartz2D Quartz 2D是⼀个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作: 绘制图形 : 线条\三角形\ ...

  4. css关系选择器

    1.包含选择符(E F) 选择所有被E元素包含的F元素,中间用空格隔开示例:<!DOCTYPE html><html> <head> <meta charse ...

  5. 如何在CentOS 7上安装Percona服务器

    在这篇文章中我们将了解关于 Percona 服务器,一个开源的MySQL,MariaDB的替代品.InnoDB的数据库引擎使得Percona 服务器非常有吸引力,如果你需要的高性能,高可靠性和高性价比 ...

  6. ros使用rplidar hector_mapping建地图

    ros中建地图方式有两种: 首先1.首先下载hector_slam包到你工作空间的src下 命令: cd ~/catkin/src git clone https://github.com/tu-da ...

  7. WinRT知识积累2之MessageDialog应用代码

    private void NavigationHelper_SaveState(object sender, SaveStateEventArgs e) { // TODO: 在此处保存页面的唯一状态 ...

  8. [转]Linux中设置服务自启动的三种方式

    from:http://www.cnblogs.com/nerxious/archive/2013/01/18/2866548.html 有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统 ...

  9. .NET笔试题集(一)

    1.简述 private. protected. public. internal.protected internal 访问修饰符和访问权限 private : 私有成员, 在类的内部才可以访问. ...

  10. [Python模式]策略模式

    策略模式 定义了算法族,分别封装起来,让它们之间可以互相替换.此模式让算法的变化独立于使用算法的客户. 作为动态语言,Python实现策略模式非常容易,只要所有算法提供相同的函数即可. import ...