一个支持SqlClient和OleDb的ADO.NET常用操作通用类

  1. usingSystem;
  2. usingSystem.Collections.Generic;
  3. usingSystem.Text;
  4. usingSystem.Data;
  5. usingSystem.Data.SqlClient;
  6. usingSystem.Configuration;
  7. usingSystem.Data.OleDb;
  8. /*
  9. ***************************************
  10. **
  11. *作者:GhostBear*
  12. *博客:http://blog.youkuaiyun.com/ghostbear*
  13. **
  14. ***************************************
  15. */
  16. namespaceAdoNetOmnipotence
  17. {
  18. ///<summary>
  19. ///操纵Ado.net的通用类(sql和oledb)
  20. ///</summary>
  21. publicclassOmnipotence
  22. {
  23. boolisSqlClient=true;//判断调用sqlclient还是oledb
  24. stringconnstr;//连接字符串
  25. SqlConnectionsconn=null;
  26. OleDbConnectionoconn=null;
  27. ///<summary>
  28. ///初始化字符串
  29. ///</summary>
  30. ///<paramname="connectionstring">连接字符串</param>
  31. publicOmnipotence(stringconnectionstring)
  32. {
  33. this.connstr=connectionstring;
  34. }
  35. ///<summary>
  36. ///指定连接字符串和操纵的目标
  37. ///</summary>
  38. ///<paramname="connectionstring">连接字符串</param>
  39. ///<paramname="issqlClient">操纵的目标</param>
  40. publicOmnipotence(stringconnectionstring,boolissqlClient)
  41. {
  42. this.connstr=connectionstring;
  43. this.isSqlClient=issqlClient;
  44. }
  45. ///<summary>
  46. ///打开连接
  47. ///</summary>
  48. privatevoidOpen()
  49. {
  50. if(isSqlClient)
  51. {
  52. if(sconn==null)
  53. sconn=newSqlConnection(connstr);
  54. if(sconn.State==ConnectionState.Closed)
  55. sconn.Open();
  56. }
  57. else
  58. {
  59. if(oconn==null)
  60. oconn=newOleDbConnection(connstr);
  61. if(oconn.State==ConnectionState.Closed)
  62. oconn.Open();
  63. }
  64. }
  65. ///<summary>
  66. ///关闭连接
  67. ///</summary>
  68. privatevoidClose()
  69. {
  70. if(isSqlClient)
  71. {
  72. if(sconn!=null)
  73. if(sconn.State==ConnectionState.Open)
  74. sconn.Close();
  75. }
  76. else
  77. {
  78. if(oconn!=null)
  79. if(oconn.State==ConnectionState.Open)
  80. oconn.Close();
  81. }
  82. }
  83. /*
  84. ***************************************
  85. **
  86. *作者:GhostBear*
  87. *博客:http://blog.youkuaiyun.com/ghostbear*
  88. **
  89. ***************************************
  90. */
  91. ///<summary>
  92. ///返回command对象,可以是sqlcommand或oledbcommand
  93. ///</summary>
  94. ///<paramname="sqlcmd">命令</param>
  95. ///<paramname="isStored">是否存储过程</param>
  96. ///<paramname="param">参数</param>
  97. ///<returns>一个装箱的command对象</returns>
  98. privateobjectcommand(stringsqlcmd,boolisStored,IDataParameter[]param)
  99. {
  100. if(isSqlClient)
  101. {
  102. SqlCommandcmd=newSqlCommand(sqlcmd);//初始化command
  103. cmd.Connection=sconn;//赋予连接对象
  104. if(isStored)
  105. cmd.CommandType=CommandType.StoredProcedure;//赋予命令类型
  106. else
  107. cmd.CommandType=CommandType.Text;
  108. if(param!=null)
  109. {
  110. foreach(SqlParametertinparam)
  111. {
  112. cmd.Parameters.Add(t);//参数数据库不为空则添加参数
  113. }
  114. }
  115. returncmd;//返回sqlcommand
  116. }
  117. else
  118. {
  119. OleDbCommandcmd=newOleDbCommand(sqlcmd);//初始化command
  120. cmd.Connection=oconn;//赋予连接对象
  121. if(isStored)
  122. cmd.CommandType=CommandType.StoredProcedure;//赋予命令类型
  123. else
  124. cmd.CommandType=CommandType.Text;
  125. if(param!=null)
  126. {
  127. foreach(OleDbParametertinparam)
  128. {
  129. cmd.Parameters.Add(t);//参数数据库不为空则添加参数
  130. }
  131. }
  132. returncmd;//返回Oledbcommand
  133. }
  134. }
  135. ///<summary>
  136. ///返回dataadapt对象
  137. ///</summary>
  138. ///<paramname="command">command对象</param>
  139. ///<returns>一个装箱的dataadapter对象</returns>
  140. privateobjectadapter(objectcommand)//返回DataAdpter类型的对象
  141. {
  142. objectadpt;
  143. if(isSqlClient)
  144. {
  145. adpt=newSqlDataAdapter((SqlCommand)command);
  146. }
  147. else
  148. {
  149. adpt=newOleDbDataAdapter((OleDbCommand)command);
  150. }
  151. returnadpt;
  152. }
  153. ///<summary>
  154. ///执行操作。返回影响的行数
  155. ///</summary>
  156. ///<paramname="sqlcmd">sql语句或存储过程名</param>
  157. ///<paramname="isStored">是否为存储过程</param>
  158. ///<returns>语句执行影响的行数</returns>
  159. /*
  160. ***************************************
  161. **
  162. *作者:GhostBear*
  163. *博客:http://blog.youkuaiyun.com/ghostbear*
  164. **
  165. ***************************************
  166. */
  167. publicvoidRunProc(stringsqlcmd,boolisStored,outintinfectionRows)
  168. {
  169. SqlCommandscmd;
  170. OleDbCommandocmd;
  171. Open();
  172. if(isSqlClient)
  173. {
  174. scmd=(SqlCommand)command(sqlcmd,isStored,null);
  175. infectionRows=scmd.ExecuteNonQuery();
  176. Close();
  177. }
  178. else
  179. {
  180. ocmd=(OleDbCommand)command(sqlcmd,isStored,null);
  181. infectionRows=ocmd.ExecuteNonQuery();
  182. Close();
  183. }
  184. return;
  185. }
  186. ///<summary>
  187. ///执行操作。返回影响的行数
  188. ///</summary>
  189. ///<paramname="sqlcmd">sql语句或存储过程名</param>
  190. ///<paramname="isStored">是否为存储过程</param>
  191. ///<paramname="param">执行所需要的参数</param>
  192. ///<returns>操作影响的行数</returns>
  193. publicvoidRunProc(stringsqlcmd,boolisStored,IDataParameter[]param,outintinfectionRows)
  194. {
  195. SqlCommandscmd;
  196. OleDbCommandocmd;
  197. Open();
  198. if(isSqlClient)
  199. {
  200. scmd=(SqlCommand)command(sqlcmd,isStored,param);
  201. infectionRows=scmd.ExecuteNonQuery();
  202. Close();
  203. }
  204. else
  205. {
  206. ocmd=(OleDbCommand)command(sqlcmd,isStored,param);
  207. infectionRows=ocmd.ExecuteNonQuery();
  208. Close();
  209. }
  210. return;
  211. }
  212. /*
  213. ***************************************
  214. **
  215. *作者:GhostBear*
  216. *博客:http://blog.youkuaiyun.com/ghostbear*
  217. **
  218. ***************************************
  219. */
  220. ///<summary>
  221. ///返回数据集合中第一行第一列中的值
  222. ///</summary>
  223. ///<paramname="sqlcmd">sql语句或存储过程名</param>
  224. ///<paramname="isStored">是否存储过程</param>
  225. ///<paramname="isReturnContetn">返回值</param>
  226. ///<returns></returns>
  227. publicvoidRunProc(stringsqlcmd,boolisStored,outobjectisReturnContent)
  228. {
  229. SqlCommandscmd;
  230. OleDbCommandocmd;
  231. Open();
  232. if(isSqlClient)
  233. {
  234. scmd=(SqlCommand)command(sqlcmd,isStored,null);
  235. isReturnContent=scmd.ExecuteScalar();
  236. Close();
  237. }
  238. else
  239. {
  240. ocmd=(OleDbCommand)command(sqlcmd,isStored,null);
  241. isReturnContent=ocmd.ExecuteScalar();
  242. Close();
  243. }
  244. return;
  245. }
  246. ///<summary>
  247. ///返回数据集合中第一行第一列中的值
  248. ///</summary>
  249. ///<paramname="sqlcmd">sql语句或存储过程名</param>
  250. ///<paramname="isStored">是否存储过程</param>
  251. ///<paramname="param">参数集合</param>
  252. ///<paramname="isReturnContent">返回值</param>
  253. ///<returns></returns>
  254. publicvoidRunProc(stringsqlcmd,boolisStored,IDataParameter[]param,outobjectisReturnContent)
  255. {
  256. SqlCommandscmd;
  257. OleDbCommandocmd;
  258. Open();
  259. if(isSqlClient)
  260. {
  261. scmd=(SqlCommand)command(sqlcmd,isStored,param);
  262. isReturnContent=scmd.ExecuteScalar();
  263. Close();
  264. }
  265. else
  266. {
  267. ocmd=(OleDbCommand)command(sqlcmd,isStored,param);
  268. isReturnContent=ocmd.ExecuteScalar();
  269. Close();
  270. }
  271. return;
  272. }
  273. /*
  274. ***************************************
  275. **
  276. *作者:GhostBear*
  277. *博客:http://blog.youkuaiyun.com/ghostbear*
  278. **
  279. ***************************************
  280. */
  281. ///<summary>
  282. ///返回sqldatareader对象
  283. ///</summary>
  284. ///<paramname="sqlcmd">sql语句或存储过程</param>
  285. ///<paramname="isStored">是否存储过程</param>
  286. ///<paramname="reader">输出sqldatareader的out参数</param>
  287. publicvoidRunProc(stringsqlcmd,boolisStored,outSqlDataReaderreader)
  288. {
  289. SqlCommandscmd;
  290. Open();
  291. scmd=(SqlCommand)command(sqlcmd,isStored,null);
  292. reader=scmd.ExecuteReader(CommandBehavior.CloseConnection);
  293. return;
  294. }
  295. ///<summary>
  296. ///返回oledbdatareader对象
  297. ///</summary>
  298. ///<paramname="sqlcmd">sql语句或存储过程</param>
  299. ///<paramname="isStored">是否存储过程</param>
  300. ///<paramname="reader">输出oledbdatareader的out参数</param>
  301. publicvoidRunProc(stringsqlcmd,boolisStored,outOleDbDataReaderreader)
  302. {
  303. OleDbCommandocmd;
  304. Open();
  305. ocmd=(OleDbCommand)command(sqlcmd,isStored,null);
  306. reader=ocmd.ExecuteReader(CommandBehavior.CloseConnection);
  307. return;
  308. }
  309. ///<summary>
  310. ///返回oledbdatareader对象
  311. ///</summary>
  312. ///<paramname="sqlcmd">sql语句或存储过程</param>
  313. ///<paramname="isStored">是否存储过程</param>
  314. ///<paramname="param">命令的参数</param>
  315. ///<paramname="reader">输出oledbdatareader的out参数</param>
  316. publicvoidRunProc(stringsqlcmd,boolisStored,IDataParameter[]param,outSqlDataReaderreader)
  317. {
  318. SqlCommandscmd;
  319. Open();
  320. scmd=(SqlCommand)command(sqlcmd,isStored,param);
  321. reader=scmd.ExecuteReader(CommandBehavior.CloseConnection);
  322. return;
  323. }
  324. ///<summary>
  325. ///返回oledbdatareader对象
  326. ///</summary>
  327. ///<paramname="sqlcmd">sql语句或存储过程名</param>
  328. ///<paramname="isStored">是否存储过程</param>
  329. ///<paramname="param">命令参数</param>
  330. ///<paramname="reader">输出参数</param>
  331. publicvoidRunProc(stringsqlcmd,boolisStored,IDataParameter[]param,outOleDbDataReaderreader)
  332. {
  333. OleDbCommandocmd;
  334. Open();
  335. ocmd=(OleDbCommand)command(sqlcmd,isStored,param);
  336. reader=ocmd.ExecuteReader(CommandBehavior.CloseConnection);
  337. return;
  338. }
  339. /*
  340. ***************************************
  341. **
  342. *作者:GhostBear*
  343. *博客:http://blog.youkuaiyun.com/ghostbear*
  344. **
  345. ***************************************
  346. */
  347. ///<summary>
  348. ///返回dataset对象
  349. ///</summary>
  350. ///<paramname="sqlcmd">sql语句或命令</param>
  351. ///<paramname="isStored">是否存储过程</param>
  352. ///<paramname="ds">输出参数</param>
  353. publicvoidRunProc(stringsqlcmd,boolisStored,outDataSetds)
  354. {
  355. SqlDataAdaptersadpt=null;
  356. OleDbDataAdapteroadpt=null;
  357. DataSetmyds=newDataSet();
  358. if(isSqlClient)
  359. {
  360. Open();
  361. sadpt=(SqlDataAdapter)adapter(command(sqlcmd,isStored,null));
  362. sadpt.Fill(myds);
  363. Close();
  364. }
  365. else
  366. {
  367. Open();
  368. oadpt=(OleDbDataAdapter)adapter(command(sqlcmd,isStored,null));
  369. oadpt.Fill(myds);
  370. Close();
  371. }
  372. ds=myds;
  373. return;
  374. }
  375. /*
  376. ***************************************
  377. **
  378. *作者:GhostBear*
  379. *博客:http://blog.youkuaiyun.com/ghostbear*
  380. **
  381. ***************************************
  382. */
  383. ///<summary>
  384. ///返回dataset对象
  385. ///</summary>
  386. ///<paramname="sqlcmd">sql语句或命令</param>
  387. ///<paramname="isStored">是否存储过程</param>
  388. ///<paramname="param">参数</param>
  389. ///<paramname="ds">输出dataset</param>
  390. publicvoidRunProc(stringsqlcmd,boolisStored,IDataParameter[]param,outDataSetds)
  391. {
  392. SqlDataAdaptersadpt=null;
  393. OleDbDataAdapteroadpt=null;
  394. DataSetmyds=newDataSet();
  395. if(isSqlClient)
  396. {
  397. Open();
  398. sadpt=(SqlDataAdapter)adapter(command(sqlcmd,isStored,param));
  399. sadpt.Fill(myds);
  400. Close();
  401. }
  402. else
  403. {
  404. Open();
  405. oadpt=(OleDbDataAdapter)adapter(command(sqlcmd,isStored,param));
  406. oadpt.Fill(myds);
  407. Close();
  408. }
  409. ds=myds;
  410. return;
  411. }
  412. }
  413. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值