1. using System;
  2. using System.Data;
  3. using System.Data.SqlClient;
  4.  
  5. namespace Whir.Software.Framework.Ultimate
  6. {
  7. /// <summary>
  8. /// 数据库访问助手
  9. /// </summary>
  10. public class DbHelper
  11. {
  12. #region 判断连接是否成功
  13. /// <summary>
  14. /// 判断连接是否成功!
  15. /// </summary>
  16. /// <param name="con"> 链接字符串</param>
  17. /// <returns>true 表示链接成功,false表示连接失败</returns>
  18. public static bool IsConnected(string con)
  19. {
  20. bool flag;
  21. var conn = new SqlConnection(con);
  22. try
  23. {
  24. conn.Open();
  25. flag = true;
  26. }
  27. catch (Exception)
  28. {
  29. flag = false;
  30. }
  31. finally
  32. {
  33. conn.Close();
  34. }
  35. return flag;
  36. }
  37. #endregion
  38. #region 执行不带参数sql语句
  39. /// <summary>
  40. /// 执行不带参数sql语句
  41. /// </summary>
  42. /// <param name="sql">增,删,改sql语句</param>
  43. /// <param name="con"></param>
  44. /// <returns>返回所影响的行数</returns>
  45. public static bool Execute(string sql, string con)
  46. {
  47. var cmd = new SqlCommand();
  48. var connection = new SqlConnection(con);
  49. try
  50. {
  51. using (connection)
  52. {
  53. cmd.Connection = connection;
  54. cmd.CommandText = sql;
  55. connection.Open();
  56. cmd.ExecuteNonQuery();
  57. return true;
  58. }
  59. }
  60. catch (Exception)
  61. {
  62. return false;
  63. }
  64. }
  65. #endregion
  66. #region 执行SQL语句返回DataTable
  67. /// <summary>
  68. /// 执行SQL语句返回DataTable
  69. /// </summary>
  70. /// <param name="sql"></param>
  71. /// <param name="con"></param>
  72. /// <returns></returns>
  73. public static DataTable ExcuteDataTable(string sql, string con)
  74. {
  75. var cmd = new SqlCommand();
  76. var connection = new SqlConnection(con);
  77. try
  78. {
  79. using (connection)
  80. {
  81. cmd.Connection = connection;
  82. cmd.CommandText = sql;
  83. connection.Open();
  84. var da = new SqlDataAdapter(cmd);
  85. var ds = new DataSet();
  86. da.Fill(ds);
  87. return ds.Tables[0];
  88. }
  89. }
  90. catch (Exception ex)
  91. {
  92. var dt = new DataTable();
  93. dt.Columns.Add("异常信息");
  94. DataRow row = dt.NewRow();
  95. row["异常信息"] = ex.Message;
  96. dt.Rows.Add(row);
  97. return dt;
  98. }
  99. }
  100. #endregion
  101. #region 执行SQL语句查询单条记录
  102. /// <summary>
  103. /// 执行SQL语句查询单条记录
  104. /// </summary>
  105. /// <param name="sql"></param>
  106. /// <param name="con"></param>
  107. /// <returns></returns>
  108. public static object ExecuteScalar(string sql, string con)
  109. {
  110. var cmd = new SqlCommand();
  111. var connection = new SqlConnection(con);
  112. try
  113. {
  114. using (connection)
  115. {
  116. cmd.Connection = connection;
  117. cmd.CommandText = sql;
  118. connection.Open();
  119. return cmd.ExecuteScalar();
  120. }
  121. }
  122. catch (Exception)
  123. {
  124. return string.Empty;
  125. }
  126. }
  127. #endregion
  128. #region 取得表最大Id
  129. /// <summary>
  130. /// 取得表最大Id
  131. /// </summary>
  132. /// <param name="tableName"></param>
  133. /// <param name="fieldName"></param>
  134. /// <param name="con"></param>
  135. /// <returns></returns>
  136. public static int GetMaxId(string tableName, string fieldName, string con)
  137. {
  138. string sql = "SELECT NVL(MAX({0}),0)+1 FROM {1}";
  139. try
  140. {
  141. sql = string.Format(sql, fieldName, tableName);
  142. int result;
  143. Int32.TryParse(ExecuteScalar(sql, con).ToString(), out result);
  144. return result;
  145. }
  146. catch (Exception)
  147. {
  148. return -1;
  149. }
  150. }
  151. #endregion
  152. }
  153. }
作者:a497785609 发表于2014-6-1 15:06:22 原文链接
阅读:8 评论:0 查看评论

[原]DbHelper-SQL数据库访问助手的更多相关文章

  1. DbHelper-SQL数据库访问助手

    using System; using System.Data; using System.Data.SqlClient; namespace Whir.Software.Framework.Ulti ...

  2. [转]DbHelper通用数据库访问帮助类

    之前我一直都是在博客园中查看各位高手的博文,确实学到了不少知识,不过比较少写博客,现在就把我自己在项目实施过程中使用到比较好的技术框架写出来,希望能让更多的人了解和学习. 通常我们在开发使用数据库访问 ...

  3. [原]ASP.NET 数据库访问通用工具

    在工作中,有很多项目已上线后,很多项目的数据库服务器都不会对外开放的,外网想直接访问客户数据库服务器时,可能会出现困难. 这时就需要一个可以查询,更新数据库操作的页面了: 本来用sql语句直接操作数据 ...

  4. 我也来写:数据库访问类DBHelper

    一.前言 相信许多人都百度过:“.net 数据库访问类”.然后就出来一大堆SqlHelper.我也用过这些SqlHelper,也自己写过,一堆静态方法,开始使用起来感觉很不错,它们也确实在很多时候可以 ...

  5. 我也来写:数据库访问类DBHelper(转)

    一.前言 相信许多人都百度过:“.net 数据库访问类”.然后就出来一大堆SqlHelper.我也用过这些SqlHelper,也自己写过,一堆静态方法,开始使用起来感觉很不错,它们也确实在很多时候可以 ...

  6. C#.NET数据库访问类DBHelper

    这是一个与C# .NET通用的数据库访问类,包含了工厂模式.事务处理等安全机制. 调用方式: DBHelper db = new DBHelper(); DbCommand cmd = db.GetS ...

  7. SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问 (也就是跨数据库访问出错)

    delphi ado 跨数据库访问 语句如下 ' and db = '帐套1' 报错内容是:SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATE ...

  8. 【C#】SQL数据库助手类2.0(自用)

    using System; using System.Collections.Generic; using System.Configuration; using System.Data; using ...

  9. SQLLite 可以通过SQL语言来访问的文件型SQL数据库

    Web Storage分为两类: - sessionStorage:数据保存在session 对象中(临时) - localStorage:数据保存在本地硬件设备中(永久) sessionStorag ...

随机推荐

  1. Windows下绘制数学函数图像的方法

    一.安装相关软件 在Windows中安装VirtualBox: 在VirtualBox中安装Ubuntu Server: 在Ubuntu Server中安装cifs-utils:sudo apt-ge ...

  2. 网友微笑分享原创Jquery实现瀑布流特效

    首先非常感谢网友微笑的无私分享,此Jquery特效是一款非常流行和实用的瀑布流布局,核心代码只有几十行,是我见过代码量最少的瀑布流布局,非常适合网友们学习哦,希望大家好好看一下这个Jquery特效的原 ...

  3. localdb链接字符串

    <add name="GitCandyContext" connectionString="Data Source=(localdb)\v11.0;Integrat ...

  4. ls -alrth 及ls 详解

    idcdpi  抓包过程中 用了命令  ls   - alrth :命令,所以回头重新学习 ls命令 linux ls和 ll 命令 标签: linuxsocketssolarisbash出版扩展 2 ...

  5. C/C++中的getline函数总结:

    来自:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html C/C++中的getline函数总结 getline函数是一个比较 ...

  6. smarty中math函数的用法

    在查看项目代码时,发现smart代码中有这样写. {if $auctionInfo.printingNum} 印数:{math equation="cid/1000" cid=$a ...

  7. ReactJS入门学习一

    ReactJS入门学习一 阅读目录 React是什么? React如何制作组件? 理解组件属性props 理解页面中如何渲染数据的 理解从服务器端获取数据及理解state的 回到顶部 React是什么 ...

  8. iOS 用instancetype代替id作返回类型有什么好处?

    2014-07-07更新:苹果在iOS 8中全面使用instancetype代替id Steven Fisher:只要一个类返回自身的实例,用instancetype就有好处. @interface ...

  9. iOS开发——底层OC篇&运行时常用

    运行时常用 什么是Runtime(前面的文章已经说的很清楚了,这里就简单的介绍一下) 我们写的代码在程序运行过程中都会被转化成runtime的C代码执行,例如[target doSomething]; ...

  10. [Effective JavaScript 笔记]第62条:在异步序列中使用嵌套或命名的回调函数

    异步程序的操作顺序 61条讲述了异步API如何执行潜在的代价高昂的I/O操作,而不阻塞应用程序继续处理其他输入.理解异步程序的操作顺序刚开始有点混乱.例如,下面的代码会在打印"finishe ...