1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Data;
  5. using System.Data.OleDb;
  6. using System.Configuration;
  7. namespace OleDbHelper
  8. {
  9. public static class OleDbHelper
  10. {
  11. private static OleDbConnection connection;
  12. /// <summary>
  13. /// 获得一个唯一的CONNECTION 实例
  14. /// </summary>
  15. public static OleDbConnection Connection
  16. {
  17. get
  18. {
  19. string connectionstring = @"Provider=Microsoft.Jet.OLEDB.4.0;Data source=db.mdb;";
  20.  
  21. if (connection == null)
  22. {
  23. connection = new OleDbConnection(connectionstring);
  24. connection.Open();
  25. }
  26. else if (connection.State == System.Data.ConnectionState.Closed)
  27. {
  28. connection.Open();
  29.  
  30. }
  31. else if (connection.State == System.Data.ConnectionState.Broken)
  32. {
  33. connection.Close();
  34. connection.Open();
  35. }
  36. return connection;
  37. }
  38. }
  39. /// <summary>
  40. /// 返回执行SQL 语句所影响数据的行数
  41. /// </summary>
  42. /// <param name="sql">sql 语句</param>
  43. /// <returns>影响行数</returns>
  44. public static int ExecuteCommand(string sql)
  45. {
  46. OleDbCommand com = new OleDbCommand(sql, Connection);
  47. int result = com.ExecuteNonQuery();
  48. return result;
  49. }
  50. /// <summary>
  51. /// 获取结果集的第一行第一列
  52. /// </summary>
  53. /// <param name="sql"></param>
  54. /// <returns></returns>
  55. public static int GetScalar(string sql)
  56. {
  57. OleDbCommand com = new OleDbCommand(sql, Connection);
  58. int result = int.Parse(com.ExecuteScalar().ToString());
  59. return result;
  60. }
  61. /// <summary>
  62. /// 执行Sql语句,获取DataTable结果集
  63. /// </summary>
  64. /// <param name="sql">SQL语句</param>
  65. /// <returns>DataTable</returns>
  66. public static DataTable GetDataTable(string sql)
  67. {
  68. DataSet dataset = new DataSet();
  69. OleDbCommand com = new OleDbCommand(sql, Connection);
  70. OleDbDataAdapter da = new OleDbDataAdapter(com);
  71. da.Fill(dataset);
  72. return dataset.Tables[];
  73. }
  74. /// <summary>
  75. /// 执行Sql语句,获取DataSet结果集
  76. /// </summary>
  77. /// <param name="sql">SQL语句</param>
  78. /// <returns>DataSet</returns>
  79. public static DataSet GetDataSet(string sql)
  80. {
  81. DataSet dataset = new DataSet();
  82. OleDbCommand com = new OleDbCommand(sql, Connection);
  83. OleDbDataAdapter da = new OleDbDataAdapter(com);
  84. da.Fill(dataset);
  85. return dataset;
  86. }
  87. /// <summary>
  88. /// 获取OleDbDataReader结果集
  89. /// </summary>
  90. /// <param name="sql">SQL语句</param>
  91. /// <returns>OleDbDataReader</returns>
  92. public static OleDbDataReader GetReader(string sql)
  93. {
  94. OleDbCommand com = new OleDbCommand(sql, Connection);
  95. OleDbDataReader reader = com.ExecuteReader();
  96. return reader;
  97. }
  98. /// <summary>
  99. /// 执行SQL语句
  100. /// </summary>
  101. /// <param name="SQLString">SQL语句</param>
  102. /// <param name="cmdParms">参数</param>
  103. /// <returns>影响行数</returns>
  104. public static int ExecuteSql(string SQLString, params OleDbParameter[] cmdParms)
  105. {
  106. OleDbCommand com = new OleDbCommand(SQLString, Connection);
  107. PrepareCommand(com, Connection, null, SQLString, cmdParms);
  108. int rows = com.ExecuteNonQuery();
  109. com.Parameters.Clear();
  110. return rows;
  111. }
  112. /// <summary>
  113. /// 获取DataSet结果集
  114. /// </summary>
  115. /// <param name="SQLString">SQL语句</param>
  116. /// <param name="cmdParms">参数</param>
  117. /// <returns>DataSet</returns>
  118. public static DataSet GetDataSet(string SQLString, params OleDbParameter[] cmdParms)
  119. {
  120. OleDbCommand cmd = new OleDbCommand(SQLString, Connection);
  121. PrepareCommand(cmd, Connection, null, SQLString, cmdParms);
  122. OleDbDataAdapter da = new OleDbDataAdapter(cmd);
  123. DataSet ds = new DataSet();
  124. try
  125. {
  126. if (connection.State == ConnectionState.Closed)
  127. connection.Open();
  128. da.Fill(ds, "ds");
  129. cmd.Parameters.Clear();
  130. }
  131. catch
  132. {
  133.  
  134. }
  135. finally
  136. {
  137.  
  138. }
  139. return ds;
  140. }
  141. private static void PrepareCommand(OleDbCommand cmd, OleDbConnection conn, OleDbTransaction trans, string cmdText, OleDbParameter[] cmdParms)
  142. {
  143. cmd.CommandText = cmdText;
  144. cmd.Connection = conn;
  145. if (trans != null)
  146. cmd.Transaction = trans;
  147. cmd.CommandType = CommandType.Text;//cmdType;
  148. if (cmdParms != null)
  149. {
  150. foreach (OleDbParameter parm in cmdParms)
  151. cmd.Parameters.Add(parm);
  152. }
  153. }
  154. }
  155. }

OleDbHelper的更多相关文章

  1. C#---OleDbHelper

    /// <summary> /// OleDbServer数据访问帮助类 /// </summary> public sealed class OleDbHelper { pu ...

  2. [aspx]控件及代码小例

    1. 原生 asp 方式遍历 DataTable  2. aspx 的控件 Repeater 后台绑定 <%-- DataTable dt = OleDbHelper.GetTable(&quo ...

  3. C#处理Excel

    C#处理Excel C#处理Excel 前言 OleDb 具体操作 NPOI 具体操作 Excel C# NPOI OleDb 前言 最近需要对Excel进行加密解密操作,本身是一个简单的事情,通过 ...

  4. C# 操作数据库就的那点代码

    操作数据库的那点代码,别在费劲每个数据库都写一遍SQLHelper,SQLiteHelper,OleDbHelper,了,这里都有了. 接口不发了,自己抽取定义就行了. public abstract ...

  5. c# 轻量级 ORM 框架 之 DBHelper 实现 (三)

    周末了比较清闲,把自己的orm框架整理了下,开源了. 已经做出来的东西通常感觉有些简单,一些新手或许听到"框架"一类的词觉得有些"高深",简单来说orm就是把a ...

  6. wpf:DataGrid使用

    xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" ...

  7. SqlHelper 帮助文档及详解--项目初步搭建

    微软SqlHelper类中文注释和使用方法 相关链接: http://blog.csdn.net/itmaxin/article/details/7609566 SqlHelper.cs是N年前微软出 ...

  8. asp.net读取Access数据库。

    注:数据库(表名 job  id 工作id ,job工作字段) 数据库放在app_data文件中.名称为database.mdb 如果用codesmith生成,选择的数据库连接类型如下图: 项目结构图 ...

  9. Asp.net 获取图片列表并打包下载

    先引用:ICSharpCode.SharpZipLib.dll 后台代码: using System.IO; using ICSharpCode.SharpZipLib.Zip; using ICSh ...

随机推荐

  1. Mongodb实用网址记录

    ISODate类型算出时间戳> ISODate("2012-04-16T16:00:00Z").valueOf() 1334592000000 然后根据得到的时间戳查询即可d ...

  2. 简单实现div+css页面自适应

    Step1.在<head>添加如下代码<meta name="viewport" content="width=device-width, initia ...

  3. 在IIS上Office Word下载失败,检索 COM 类工厂中 CLSID 为000209FF的组件失败,80070005 拒绝访问。

    最近在做一个网站时,有一个下载word文档功能,在本地直接调试是可以下载的,但部署到IIS上就出现问题了. 出现问题如下:Error:下载简历方法出错:检索 COM 类工厂中 CLSID 为 {000 ...

  4. yum添加源。

    本文以centos 7为准.其他版本的linux可能存在一些偏差. 第一:索引文件. 1)repo文件. 1.repo文件是指以repo为结尾的文件.是 仓库源的索引文件.将其添加到yum的repo仓 ...

  5. php中数字和字母生成随机字符串

    function strrand($len) { $arr = array( "0", "1", "2", "3", & ...

  6. IE8的项目在IE11下 一些功能无法实现的解决方案

    最近改了一些IE11下一些功能无法实现的项目,发现了有一些IE8下的方法 ,在IE11下被取消或者替代了,如下: 1.JavaScript 运行时错误: 对象不支持“attachEvent”属性或方法 ...

  7. Android 开发使用lambda实现< JDK8兼容

    代码精简无疑是每个程序员的目标,简短易读.java 8中的lambda表达式的使用: 4 easy steps Download and install jdk8. Add the following ...

  8. 模拟HTTP请求:Request Maker

    摘要 : Request Maker是一款可以模拟HTTP请求的谷歌浏览器插件. Request Maker的开发背景 现在由于restful式的web api的兴起,越来越多的开发者习惯使用URL来 ...

  9. python之列表、字典的使用

    一.概述:以后你在Linux里面写Python脚本的时候会经常用到Python列表.字典,因为你在以后写脚本的时候,大多数情况下都是对文件进行操作处理,使用字典和列表可以很好的操作文件,得出你想要的结 ...

  10. 元器件选型(一)ESD、TVS参考资料

    许多开发人员都遇到过这样的情况:在实验室开发好的产品,测试完全通过,但到了客户手里用了一段时间之后,出现异常现 象,甚至是产品失效需要返修,并且故障率往往也不高(1%以下).一般情况下,以上问题大都由 ...