1. using System.Data;
  2. using System.Data.SqlClient;
  3.  
  4. namespace DataService
  5. {
  6. public class SQLHelper
  7. {
  8. public static readonly string connString = "Server=127.0.0.1;Database=WinFormDemo;uid=sa;pwd=123";
  9.  
  10. #region ExecuteNonQuery
  11. /// <summary>
  12. /// 不带参数的ExcuteNonQuery
  13. /// </summary>
  14. public static int ExecuteNonQuery(string connString, CommandType cmdType, string cmdText)
  15. {
  16. SqlCommand cmd = new SqlCommand();
  17. cmd.CommandTimeout = ;
  18. using (SqlConnection conn = new SqlConnection(connString))
  19. {
  20. PrepareCommand(cmd, conn, (SqlTransaction)null, cmdType, cmdText, (SqlParameter[])null);
  21. int val = cmd.ExecuteNonQuery();
  22. return val;
  23. }
  24. }
  25.  
  26. /// <summary>
  27. /// 带参数的ExcuteNonQuery
  28. /// </summary>
  29. public static int ExecuteNonQuery(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
  30. {
  31. SqlCommand cmd = new SqlCommand();
  32. cmd.CommandTimeout = ;
  33. using (SqlConnection conn = new SqlConnection(connString))
  34. {
  35. PrepareCommand(cmd, conn, (SqlTransaction)null, cmdType, cmdText, cmdParms);
  36. int val = cmd.ExecuteNonQuery();
  37. cmd.Parameters.Clear();
  38. return val;
  39.  
  40. }
  41. }
  42. #endregion ExecuteNonQuery
  43.  
  44. #region ExecuteScalar
  45. /// <summary>
  46. /// 不带参数的ExecuteScalar
  47. /// </summary>
  48. public static object ExecuteScalar(string connString, CommandType cmdType, string cmdText)
  49. {
  50. SqlCommand cmd = new SqlCommand();
  51. cmd.CommandTimeout = ;
  52. using (SqlConnection conn = new SqlConnection(connString))
  53. {
  54. PrepareCommand(cmd, conn, (SqlTransaction)null, cmdType, cmdText, (SqlParameter[])null);
  55. object val = cmd.ExecuteScalar();
  56. return val;
  57. }
  58. }
  59.  
  60. /// <summary>
  61. /// 带参数的ExecuteScalar
  62. /// </summary>
  63. public static object ExecuteScalar(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
  64. {
  65. SqlCommand cmd = new SqlCommand();
  66. cmd.CommandTimeout = ;
  67. using (SqlConnection conn = new SqlConnection(connString))
  68. {
  69. PrepareCommand(cmd, conn, (SqlTransaction)null, cmdType, cmdText, cmdParms);
  70. object val = cmd.ExecuteScalar();
  71. cmd.Parameters.Clear();
  72. return val;
  73. }
  74. }
  75. #endregion ExecuteScalar
  76.  
  77. #region ExecuteReader
  78. /// <summary>
  79. /// 不带参数的ExecuteReader
  80. /// </summary>
  81. public static SqlDataReader ExecuteReader(string connString, CommandType cmdType, string cmdText)
  82. {
  83. SqlCommand cmd = new SqlCommand();
  84. SqlConnection conn = new SqlConnection(connString);
  85. cmd.CommandTimeout = ;
  86. try
  87. {
  88. PrepareCommand(cmd, conn, (SqlTransaction)null, cmdType, cmdText, (SqlParameter[])null);
  89. SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
  90. return rdr;
  91. }
  92. catch
  93. {
  94. conn.Close();
  95. throw;
  96. }
  97. }
  98.  
  99. /// <summary>
  100. /// 带参数的ExecuteReader
  101. /// </summary>
  102. public static SqlDataReader ExecuteReader(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
  103. {
  104. SqlCommand cmd = new SqlCommand();
  105. SqlConnection conn = new SqlConnection(connString);
  106. cmd.CommandTimeout = ;
  107. try
  108. {
  109. PrepareCommand(cmd, conn, (SqlTransaction)null, cmdType, cmdText, cmdParms);
  110. SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
  111. cmd.Parameters.Clear();
  112. return rdr;
  113. }
  114. catch
  115. {
  116. conn.Close();
  117. throw;
  118. }
  119. }
  120. #endregion ExecuteReader
  121.  
  122. #region ExecuteDataSet
  123. /// <summary>
  124. /// 不带参数的ExecuteDataSet,可以分页
  125. /// </summary>
  126. public static DataSet ExecuteDataset(string connString, CommandType cmdType, string cmdText)
  127. {
  128. SqlCommand cmd = new SqlCommand();
  129. cmd.CommandTimeout = ;
  130. using (SqlConnection conn = new SqlConnection(connString))
  131. {
  132. PrepareCommand(cmd, conn, (SqlTransaction)null, cmdType, cmdText, (SqlParameter[])null);
  133. SqlDataAdapter da = new SqlDataAdapter(cmd);
  134. DataSet ds = new DataSet();
  135. da.Fill(ds, "dtable");
  136. cmd.Parameters.Clear();
  137. return ds;
  138. }
  139. }
  140.  
  141. /// <summary>
  142. /// 带参数的ExecuteDataSet,可以分页
  143. /// </summary>
  144. public static DataSet ExecuteDataset(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
  145. {
  146. SqlCommand cmd = new SqlCommand();
  147. cmd.CommandTimeout = ;
  148. using (SqlConnection conn = new SqlConnection(connString))
  149. {
  150. PrepareCommand(cmd, conn, (SqlTransaction)null, cmdType, cmdText, cmdParms);
  151. SqlDataAdapter da = new SqlDataAdapter(cmd);
  152. DataSet ds = new DataSet();
  153. da.Fill(ds, "dtable");
  154. cmd.Parameters.Clear();
  155. return ds;
  156. }
  157. }
  158. #endregion ExecuteDataSet
  159.  
  160. #region PrepareCommand
  161. /// <summary>
  162. /// 初始化工作
  163. /// </summary>
  164. private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
  165. {
  166.  
  167. if (conn.State != ConnectionState.Open)
  168. conn.Open();
  169.  
  170. cmd.Connection = conn;
  171. cmd.CommandText = cmdText;
  172.  
  173. if (trans != null)
  174. cmd.Transaction = trans;
  175.  
  176. cmd.CommandType = cmdType;
  177.  
  178. if (cmdParms != null)
  179. {
  180. foreach (SqlParameter parm in cmdParms)
  181. cmd.Parameters.Add(parm);
  182. }
  183. }
  184. #endregion PrepareCommand
  185. }
  186. }

ADO.NET通用类库的更多相关文章

  1. DB通用类:Sqlite通用类库

    Sqlite通用类库 using System; using System.Collections; using System.Collections.Generic; using System.IO ...

  2. Windows.Andy.Code4App.dll Win8.1/WP8.1通用类库@ver1.0.1

    在上篇 Windows.Andy.Code4App.dll  Win8.1/WP8.1通用类库@ver1.0.0 已经对Win8.1和WP8.1部分扩展通用类库做了说明,这篇继续对通用类库做扩展.写的 ...

  3. 同时使用ADO与Excel类库冲突的问题

    客户需要一个Demo程序实现Access数据库表导出到Excel表格,并将表中存储的照片(OLE对象)以其中一个字段(编号)命名存储到本地.程序中引入了ADO操作Access数据库("C:\ ...

  4. DB通用类:SQL Server 通用类库

    SQLServer通用类A using System; using System.Data; using System.Data.SqlClient; using System.Collections ...

  5. ADO.NET 【类库】【与数据库的连接】

    ADO.NET是什么,有什么用 数据库访问技术 ado.net可让开发人员以一致的方式存取资料来源, 资料共用的消费者应用程序可使用ado.net 来连接至这些资料来源,并且撷取.处理及更新其中所含的 ...

  6. C#通用类库整理--字符串处理类

    在程序开发中通常需要将字符串转为自己想要的结果,以下三个类库主要实现: 1.GetStrArray(string str, char speater, bool toLower)  把字符串按照分隔符 ...

  7. C#通用类库整理--日志记录

    日志的记录是将程序过程中的一些行为数据记录下来,方便开发.运维迅速的找到问题的所在,节省时间.使用时在 站点的web.config 中的<appSettings></appSetti ...

  8. Ado.net 通用访问类

    public class DbHelperSQL { private static string connString = ConfigurationManager.ConnectionStrings ...

  9. Windows.Andy.Code4App.dll Win8.1/WP8.1通用类库@ver1.0.0

    直接入题! Win8.1和WP8.1眼下已经渐渐融为一体,WP8.1不断向Win8.1靠拢,虽然一些方法上WP8.1和Win8.1不同(ps:WP8.1和Win8.1的不同之处),但大部分还是相同的. ...

随机推荐

  1. C# winform页面可视化设计打开失败,提示未能加载程序集或他的一个依赖项,dll错误

    这种情况发生在最初项目是x86属性,改成x64后,一些原来dll,页面没有及时更新,导致页面找不到dll, 最简单的解决方式,把项目属性改成AnyCpu,重新编译下,就可以打开可视化设计窗口了.

  2. [Qt Quick] No rule to make target问题解决办法

    [问题描述] 修改项目中资源的qml文件名或删除无用资源文件后,重新构建项目时,会出现类似如下的问题提示: No rule to make target 'aaa', needed by 'bbb'. ...

  3. C#、Java之比较

    很多人说C#是微软用来和Java抗衡的武器,因为二者在很大程度上有着惊人的相似,尽管如此,两者不同的地方也很多,所谓"于细微处见差异".那么两者的相似和区别都在什么地方呢?我们从今 ...

  4. Windows 产品激活状态、密钥等信息查看

    目前,大多PC都是预装了微软家的桌面级系统 Windows ,这也算是微软一大得意之作.可是 Windows 产品可不是免费的,是要 $ 的.可能在中国,大多数系统可能是盗版过来的,像当年的雨林木风( ...

  5. css3 box-shadow让我们实现图层阴影效果

    box-shadow box-shadow: h-shadow v-shadow blur spread color inset;box-shadow:2px 2px 3px rgba(50,50,5 ...

  6. ios GCD将异步转换为同步

    在开发中有时需要等网络请求完成之后拿到数据做一些操作,而且有时是同时好几个网络请求同时发起.这时会有对异步操作进行更进一步控制的场景,不单网络请求,有时一些其他本地文件,多张图片处理等可能都会遇到这种 ...

  7. awk之FIELDWIDTHS字段宽度

    $ cat file 1234567890 $ awk -vFIELDWIDTHS="1 2 3 4 5" -vOFS="|" 'NF=NF' file 1|2 ...

  8. Chrome中xpath表达式巧妙获取

    对于xpath语法不熟悉,或者要快速匹配出xpath的小伙伴来说这种方式是最快捷的了. 步骤如下: 1.打开chrome 2.ctrl + shift + c 个人比较喜欢用快捷键,不喜欢用快捷键的就 ...

  9. 针对Chrome谷歌等浏览器不再支持showModalDialog的解决方案

    最近在维护一个老项目,之前都是用IE来调试代码的.今天想着测试一下项目的兼容性,就用了谷歌浏览器,然后就遇到这样一个问题:一段用showModalDialog实现弹出模态框和返回值的js代码,在调试时 ...

  10. SDP(4):ScalikeJDBC- JDBC-Engine:Updating

    在上一篇博文里我们把JDBC-Engine的读取操作部分分离出来进行了讨论,在这篇准备把更新Update部分功能介绍一下.当然,JDBC-Engine的功能是基于ScalikeJDBC的,所有的操作和 ...