1. /*
  2. * By :落落
  3. * URL: Www.MyLuoLuo.Com
  4. */
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Text;
  8. using System.Data;
  9. using System.Data.OleDb;
  10.  
  11. namespace DBHelp
  12. {
  13. /// <summary>
  14. /// Access Help
  15. /// </summary>
  16. public class Access
  17. {
  18. #region 小功能
  19. /// <summary>
  20. /// 数据库访问
  21. /// </summary>
  22. OleDbConnection conn;
  23. string conString;
  24. public OleDbConnection con
  25. {
  26. get {
  27. if (conn == null)
  28. {
  29. conn = new OleDbConnection(conString);
  30. }
  31. if (conn.State == ConnectionState.Closed)
  32. {
  33. conn.Open();
  34.  
  35. }
  36. return conn;
  37. }
  38. }
  39.  
  40. /// <summary>
  41. /// 数据库连接字符串
  42. /// </summary>
  43. /// <param name="conString"></param>
  44. public Access(string conString)
  45. {
  46. try
  47. {
  48. conn = new OleDbConnection(conString);
  49. this.conString = conString;
  50. conn.Open();
  51. }
  52. catch (Exception)
  53. {
  54. throw;
  55. }
  56. }
  57.  
  58. /// <summary>
  59. /// 数据库连接字符串
  60. /// </summary>
  61. /// <param name="conString"></param>
  62. public Access()
  63. {
  64. try
  65. {
  66. //Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.love
  67. this.conString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.love";
  68. conn = new OleDbConnection(this.conString);
  69. conn.Open();
  70. }
  71. catch (Exception)
  72. {
  73. throw;
  74. }
  75. }
  76.  
  77. /// <summary>
  78. /// 填充
  79. /// </summary>
  80. /// <param name="com"></param>
  81. /// <param name="array"></param>
  82. void SetParametersArray(ref OleDbCommand com, ParametersArray array)
  83. {
  84. foreach (OleDbParameter item in array.GetArray())
  85. {
  86. com.Parameters.Add(item);
  87. }
  88. }
  89. #endregion
  90. #region 执行SQL语句并返回受影响的行数
  91. /// <summary>
  92. /// 执行SQL语句并返回受影响的行数
  93. /// </summary>
  94. /// <returns></returns>
  95. public int ExecuteNonQuery(string sql)
  96. {
  97. try
  98. {
  99. using (OleDbCommand com = new OleDbCommand(sql, con))
  100. {
  101. return com.ExecuteNonQuery();
  102. }
  103. }
  104. catch (Exception)
  105. {
  106. throw;
  107. }
  108. }
  109.  
  110. /// <summary>
  111. /// 执行SQL语句并返回受影响的行数
  112. /// </summary>
  113. public int ExecuteNonQuery(string sql, OleDbParameter par)
  114. {
  115. try
  116. {
  117. using (OleDbCommand com = new OleDbCommand(sql, con))
  118. {
  119. com.Parameters.Add(par);
  120. return com.ExecuteNonQuery();
  121. }
  122. }
  123. catch (Exception)
  124. {
  125. throw;
  126. }
  127. }
  128.  
  129. /// <summary>
  130. /// 执行SQL语句并返回受影响的行数
  131. /// </summary>
  132. /// <param name="sql"></param>
  133. /// <param name="array"></param>
  134. /// <returns></returns>
  135. public int ExecuteNonQuery(string sql, ParametersArray array)
  136. {
  137. try
  138. {
  139. OleDbCommand com = new OleDbCommand(sql, con);
  140. SetParametersArray(ref com, array);
  141. return com.ExecuteNonQuery();
  142. }
  143. catch (Exception)
  144. {
  145.  
  146. throw;
  147. }
  148. }
  149. #endregion
  150. #region ExecuteReader
  151. public OleDbDataReader ExecuteReader(string sql)
  152. {
  153. try
  154. {
  155. using (OleDbCommand com = new OleDbCommand(sql, con))
  156. {
  157. OleDbDataReader reader = com.ExecuteReader();
  158. return reader;
  159. }
  160. }
  161. catch (Exception)
  162. {
  163.  
  164. throw;
  165. }
  166. }
  167. public OleDbDataReader ExecuteReader(string sql, OleDbParameter par)
  168. {
  169. try
  170. {
  171. using (OleDbCommand com = new OleDbCommand(sql, con))
  172. {
  173. com.Parameters.Add(par);
  174. OleDbDataReader reader = com.ExecuteReader();
  175. return reader;
  176. }
  177. }
  178. catch (Exception)
  179. {
  180.  
  181. throw;
  182. }
  183. }
  184. public OleDbDataReader ExecuteReader(string sql, ParametersArray array)
  185. {
  186. try
  187. {
  188. OleDbCommand com = new OleDbCommand(sql, con);
  189. SetParametersArray(ref com, array);
  190. OleDbDataReader reader = com.ExecuteReader();
  191. return reader;
  192. }
  193. catch (Exception)
  194. {
  195.  
  196. throw;
  197. }
  198. }
  199. #endregion
  200. #region 读取查询结果中的第一行第一列
  201. /// <summary>
  202. /// 读取查询结果中的第一行第一列
  203. /// </summary>
  204. /// <param name="sql"></param>
  205. /// <returns></returns>
  206. public object ExecuteScalar(string sql)
  207. {
  208. try
  209. {
  210. using (OleDbCommand com = new OleDbCommand(sql, con))
  211. {
  212. return com.ExecuteScalar();
  213. }
  214. }
  215. catch (Exception)
  216. {
  217.  
  218. throw;
  219. }
  220. }
  221.  
  222. /// <summary>
  223. /// 读取查询结果中的第一行第一列
  224. /// </summary>
  225. /// <param name="sql"></param>
  226. /// <returns></returns>
  227. public object ExecuteScalar(string sql, OleDbParameter par)
  228. {
  229. try
  230. {
  231. using (OleDbCommand com = new OleDbCommand(sql, con))
  232. {
  233. com.Parameters.Add(par);
  234. return com.ExecuteScalar();
  235. }
  236. }
  237. catch (Exception)
  238. {
  239.  
  240. throw;
  241. }
  242. }
  243.  
  244. /// <summary>
  245. /// 读取查询结果中的第一行第一列
  246. /// </summary>
  247. /// <param name="sql"></param>
  248. /// <returns></returns>
  249. public object ExecuteScalar(string sql, ParametersArray array)
  250. {
  251. try
  252. {
  253. OleDbCommand com = new OleDbCommand(sql, con);
  254. SetParametersArray(ref com, array);
  255. return com.ExecuteScalar();
  256. }
  257. catch (Exception)
  258. {
  259.  
  260. throw;
  261. }
  262. }
  263. #endregion
  264. #region 执行Insert语句,并返回新添加的记录ID
  265. /// <summary>
  266. /// 执行Insert语句,并返回新添加的记录ID
  267. /// </summary>
  268. /// <returns></returns>
  269. public object ExecuteNonQueryAndGetIdentity(string sql)
  270. {
  271. try
  272. {
  273. using (OleDbCommand com = new OleDbCommand(sql, con))
  274. {
  275. if (com.ExecuteNonQuery() >= )
  276. {
  277. com.CommandText = "select @@identity";
  278. return com.ExecuteScalar();
  279. }
  280. else
  281. {
  282. throw new Exception("记录添加不成功!");
  283. }
  284. }
  285. }
  286. catch (Exception)
  287. {
  288. throw;
  289. }
  290. }
  291.  
  292. /// <summary>
  293. /// 执行Insert语句,并返回新添加的记录ID
  294. /// </summary>
  295. public object ExecuteNonQueryAndGetIdentity(string sql, OleDbParameter par)
  296. {
  297. try
  298. {
  299. using (OleDbCommand com = new OleDbCommand(sql, con))
  300. {
  301. com.Parameters.Add(par);
  302. if (com.ExecuteNonQuery() >= )
  303. {
  304. com.CommandText = "select @@identity";
  305. return com.ExecuteScalar();
  306. }
  307. else
  308. {
  309. throw new Exception("记录添加不成功!");
  310. }
  311. }
  312. }
  313. catch (Exception)
  314. {
  315. throw;
  316. }
  317. }
  318.  
  319. /// <summary>
  320. /// 执行Insert语句,并返回新添加的记录ID
  321. /// </summary>
  322. /// <param name="sql"></param>
  323. /// <param name="array"></param>
  324. /// <returns></returns>
  325. public object ExecuteNonQueryAndGetIdentity(string sql, ParametersArray array)
  326. {
  327. try
  328. {
  329. OleDbCommand com = new OleDbCommand(sql, con);
  330. SetParametersArray(ref com, array);
  331. if (com.ExecuteNonQuery() >= )
  332. {
  333. com.CommandText = "select @@identity";
  334. return com.ExecuteScalar();
  335. }
  336. else
  337. {
  338. throw new Exception("记录添加不成功!");
  339. }
  340. }
  341. catch (Exception)
  342. {
  343.  
  344. throw;
  345. }
  346. }
  347. #endregion
  348. #region 返回DataSet
  349. /// <summary>
  350. /// 返回DataSet
  351. /// </summary>
  352. /// <param name="sql"></param>
  353. /// <returns></returns>
  354. public DataSet GetDataSet(string sql)
  355. {
  356. try
  357. {
  358.  
  359. using (OleDbDataAdapter adpter = new OleDbDataAdapter(sql, con))
  360. {
  361. DataSet ds = new DataSet();
  362. adpter.Fill(ds);
  363. return ds;
  364. }
  365. }
  366. catch (Exception)
  367. {
  368. throw;
  369. }
  370.  
  371. }
  372.  
  373. /// <summary>
  374. /// 返回DataSet
  375. /// </summary>
  376. /// <param name="sql"></param>
  377. /// <returns></returns>
  378. public DataSet GetDataSet(string sql,OleDbParameter par)
  379. {
  380. try
  381. {
  382. using (OleDbCommand com = new OleDbCommand(sql,con))
  383. {
  384. com.Parameters.Add(par);
  385. using (OleDbDataAdapter adpter = new OleDbDataAdapter(com))
  386. {
  387. DataSet ds = new DataSet();
  388. adpter.Fill(ds);
  389. return ds;
  390. }
  391. }
  392.  
  393. }
  394. catch (Exception)
  395. {
  396. throw;
  397. }
  398. }
  399.  
  400. /// <summary>
  401. /// 返回DataSet
  402. /// </summary>
  403. /// <param name="sql"></param>
  404. /// <returns></returns>
  405. public DataSet GetDataSet(string sql, ParametersArray array)
  406. {
  407. try
  408. {
  409. OleDbCommand com = new OleDbCommand(sql, con);
  410. SetParametersArray(ref com,array);
  411. using (OleDbDataAdapter adpter = new OleDbDataAdapter(com))
  412. {
  413. DataSet ds = new DataSet();
  414. adpter.Fill(ds);
  415. return ds;
  416. }
  417. }
  418. catch (Exception)
  419. {
  420. throw;
  421. }
  422. }
  423. #endregion
  424. }
  425.  
  426. /// <summary>
  427. /// 一组Parameters对象
  428. /// </summary>
  429. public class ParametersArray
  430. {
  431. List<System.Data.OleDb.OleDbParameter> par = new List<System.Data.OleDb.OleDbParameter>();
  432. /// <summary>
  433. /// 添加新参数
  434. /// </summary>
  435. /// <param name="par"></param>
  436. public void Add(System.Data.OleDb.OleDbParameter par)
  437. {
  438. this.par.Add(par);
  439. }
  440. /// <summary>
  441. /// 获取全部
  442. /// </summary>
  443. /// <returns></returns>
  444. public List<System.Data.OleDb.OleDbParameter> GetArray()
  445. {
  446. return this.par;
  447. }
  448. }
  449. }

C# Access DBHelp的更多相关文章

  1. 【基于WinForm+Access局域网共享数据库的项目总结】之篇一:WinForm开发总体概述与技术实现

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  2. windows 部署 git 服务器报 Please make sure you have the correct access rights and the repository exists.错误

    这两天在阿里云上弄windows 服务器,顺便部署了一个git服务.根据网上教程一步步操作下来,最后在 remote远程仓库的时候提示 fatal: 'yourpath/test.git' does ...

  3. 【.net 深呼吸】连接Access数据库应注意的几点

    本地数据库可以有Y种选择,比如Sqlite.SQL Server Express.SQL Local DB.SQL Server CE.Access等,本文老周选用比较著名的Access本地数据库,在 ...

  4. ASP.NET OAuth:解决refresh token无法刷新access token的问题

    最近同事用iOS App调用Open API时遇到一个问题:在access token过期后,用refresh token刷新access token时,服务器响应"invalid_gran ...

  5. ASP.NET OAuth:access token的加密解密,client secret与refresh token的生成

    在 ASP.NET OWIN OAuth(Microsoft.Owin.Security.OAuth)中,access token 的默认加密方法是: 1) System.Security.Crypt ...

  6. Web API与OAuth:既生access token,何生refresh token

    在前一篇博文中,我们基于 ASP.NET Web API 与 OWIN OAuth 以 Resource Owner Password Credentials Grant 的授权方式( grant_t ...

  7. ASP.NET Web API与Owin OAuth:使用Access Toke调用受保护的API

    在前一篇博文中,我们使用OAuth的Client Credential Grant授权方式,在服务端通过CNBlogsAuthorizationServerProvider(Authorization ...

  8. 基于DotNetOpenAuth的OAuth实现示例代码: 获取access token

    1. 场景 根据OAuth 2.0规范,该场景发生于下面的流程图中的(D)(E)节点,根据已经得到的authorization code获取access token. 2. 实现环境 DotNetOp ...

  9. 【基于WinForm+Access局域网共享数据库的项目总结】之篇二:WinForm开发扇形图统计和Excel数据导出

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

随机推荐

  1. git shell 中文

    alias ls="ls --show-control-chars" alias ll="ls -l"

  2. web访问速度优化分析

    请求从发出到接收完成一共经历了DNS Lookup.Connecting.Blocking.Sending.Waiting和Receiving六个阶段,时间共计38ms.请求完成之后是DOM加载和页面 ...

  3. 13test05:亲密数

    /*#include<iostream> using namespace std; int main() {int sum[3000]={0}; for(int i=1;i<3000 ...

  4. (转)排列算法 Permutation Generation

    转自:http://www.cnblogs.com/dragonpig/archive/2010/01/21/1653680.html http://www.notesandreviews.com/p ...

  5. java基础知识回顾之javaIO类---FileInputStream和FileOutputStream字节流复制图片

    package com.lp.ecjtu; import java.io.FileInputStream; import java.io.FileNotFoundException; import j ...

  6. Es使用。

    http://jingyan.baidu.com/article/3052f5a1e8a06397f31f8699.html --------------------------- http://el ...

  7. CS程序,服务器端弹出MessageBox.Show()之类的UI操作???禁止

    服务器端绝对不能用MessageBox.Show之类的UI操作,大家要掌握异常(Exception)的工作机制. 可能你开发调试时貌似可以,因为是以单机版运行.在服务层或者数据访问层MessageBo ...

  8. HDU5597/BestCoder Round #66 (div.2) GTW likes function 打表欧拉函数

    GTW likes function      Memory Limit: 131072/131072 K (Java/Others) 问题描述 现在给出下列两个定义: f(x)=f_{0}(x)=\ ...

  9. (一)初探HTML!

    想自己动手做一个个人网站,因此,最近在自学PHP,主要看韩顺平老师的教学视频..将自己学习的点点滴滴记录在博客园,希望数月之后,自己可以熟练的运用PHP,也希望各位PHP高手们给予指点,不胜感激!! ...

  10. C#文件输入输出流

    从输入流中读取数据(行读取字符串) using System; using System.Collections.Generic; using System.Linq; using System.Te ...