asp.net数据库操作类(二)
第二版的数据库访问类出炉了:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
public class OledbDataService1:IDisposable
{ public OledbDataService1(string conStr) { ConnectionString = conStr; } //[关闭] public void Close() { if (_Command != null) { if (_Command.Connection.State != ConnectionState.Closed) _Command.Connection.Close(); } } public void Dispose() { Close(); if (_Command != null) { _Command.Connection.Dispose(); _Command.Dispose(); } } //连接字符串 public string ConnectionString { get; private set; } //sql执行器 private OleDbCommand _Command; public OleDbCommand Command { get { if (_Command == null) { _Command = new OleDbConnection(ConnectionString).CreateCommand(); } return _Command; } } //数据库适配器 private OleDbDataAdapter _Adapter; public OleDbDataAdapter Adapter { get { if (_Adapter == null) { _Adapter = new OleDbDataAdapter(Command); } return _Adapter; } } //得到查询结果 public DataTable Execute(string sql) { Command.CommandText = sql; DataTable db = new DataTable(); Adapter.Fill(db); return db; } //检查Connection打开状态 protected void CheckConnectionState() { if (Command.Connection.State != ConnectionState.Open) Command.Connection.Open(); } } |
调用方法如下:
1
2 3 4 5 6 |
using (var db = Common.GetDataServicetest("AccessConStr", "dbPath"))
{ string sql = "Select top 1 Dept_No from Dept_No"; DataTable dt = db.Execute(sql); Console.WriteLine(]); } |
通过实现IDisposale接口可以手动调用资源清理方法来进行资源回收,using(...){...}using关键字在C#中主要有几个用途:
1.引用命名空间,以减少输入
2.为命名空间创建别名
3.用于在限定范围结束后自动释放资源,如自动释放数据连接、事务句柄等
因此在执行完数据操作后,可以自动释放数据库。同时可以在一次数据库的操作中多次执行操作,避免重复打开数据库连接的消耗。
asp.net数据库操作类(二)的更多相关文章
- asp.net数据库操作类(一)
Hi Boy, 我现在需要使用asp.net操作access数据库,你来做个.boy听后就开始百度了,最后找到了一个比较好的方法.如下: C# Code 1234567 <appSett ...
- 自己封装的ASP.NET的MYSQL的数据库操作类
/** * 作者:牛腩 * 创建时间:2010年3月7日17时35分 * 类说明:对MYSQL数据库的操作类 */ using System; using System.Data; using MyS ...
- PHP 数据库操作类:ezSQL
EZSQL类介绍: 下载地址:http://www.jb51.net/codes/26393.htmlezsql是一个小型的快速的数据库操作类,可以让你很容易地用PHP操作各种数据库( MySQL.o ...
- php : mysql数据库操作类演示
设计目标: 1,该类一实例化,就可以自动连接上mysql数据库: 2,该类可以单独去设定要使用的连接编码(set names XXX) 3,该类可以单独去设定要使用的数据库(use XXX): 4,可 ...
- PDO数据库操作类
<?php include 'common_config.php'; /** * Class Mysql * PDO数据库操作类 */ class Mysql { protected stati ...
- MySQL数据库操作类(PHP实现,支持连贯操作)
<?php /** * Author: suvan * CreateTime: 2018/2/27 * description: 数据库操作类(仅对接MySQL数据库,主要利用MySQLi函数) ...
- 数据库操作类《SqlHelper》
一.背景 在看了一本书叫<Visual Studio 2010(C#)Windows数据库项目开发>后,觉得很多编程技术需要积累,因为一个简单的项目里包含的技术太多了,容易忘记.每次需要用 ...
- 扣出thinkphp数据库操作类
假如你是一位thinkphp的使用者,想必你会觉得thinkphp操作数据库非常方便.现在在你面前有一个非常小的作业,小到完全没有必要用thinkphp去完成它.但是你又觉得不用thinkphp的话, ...
- 【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~
最近用php做了点小东东,用上了ezSQL,感觉真的很ez,所以拿来跟大家分享一下~ ezSQL是一个非常好用的PHP数据库操作类.著名的开源博客WordPress的数据库操作就使用了ezSQL的My ...
随机推荐
- C语言_double_精度的谜团
double-long long 和0的比较,double和double之间比较
- append, appendTo, after区别(preappend、before与这几个原理相同)
append在被选元素结尾插入内容,是被包围在所选元素的标签内的. <script> $('p').append('<a>http</a>'); </scri ...
- js数组(二)
一.位置方法 indexOf()和laseIndexOf() indexOf是从数组的第0项开始向后查找,没有找到返回-1,要求使用=== var numbers = [1,2,3,4,5,4,3,2 ...
- python基础(四)
内置函数 callable() #判断是否能够被调用执行,可以调用返回True,例如函数和类 chr() #将ascii值转换为字符,例如print(chr(65) )输出为a ord()#将字符转换 ...
- Python学习路径和个人增值(整合版)
PS:内容来源于网络 一.简介 Python是一种面向对象.直译式计算机程序设计语言,由Guido van Rossum于1989年底发明.由于他简单.易学.免费开源.可移植性.可扩展 ...
- Linux系统针对网卡中断的优化处理
摘要: 中断: 当网卡接收到数据包后,会触发硬中断,通知CPU来收包.硬中断是一个CPU和网卡交互的过程.这其实会消耗CPU资源.特别是在使用速度极快的万兆网卡 之后,大量的网络交互使得CPU很大一部 ...
- 自制DTU
最近打算自己做一款工业级DTU产品,预计到今年年底前完成,博客会随时更新产品进度,有兴趣的朋友可以联系我.
- 【自学php】第二天 - php快速入门
打算看<php和mysql web开发>来学习php,所以也算是这本书的学习笔记吧,也按照书里的例子来练习,但是也有些取舍.第一章是一个订单表单的例子,php用于处理提交的表单. 1.先创 ...
- css案例学习之父子块的margin
两边还会有些距离,这是body默认的. 代码: <head> <title>父子块的margin</title> <style type="text ...
- java实现xml文件增删改查
java一次删除xml多个节点: 方案1.你直接改动了nodeList,这一般在做循环时是不同意直接这么做的. 你能够尝试在遍历一个list时,在循环体同一时候删除list里的内容,你会得到一个异常. ...