第二版的数据库访问类出炉了:

 C# Code 
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();
        }
    }

调用方法如下:

 C# Code 
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数据库操作类(二)的更多相关文章

  1. asp.net数据库操作类(一)

    Hi Boy, 我现在需要使用asp.net操作access数据库,你来做个.boy听后就开始百度了,最后找到了一个比较好的方法.如下:  C# Code  1234567   <appSett ...

  2. 自己封装的ASP.NET的MYSQL的数据库操作类

    /** * 作者:牛腩 * 创建时间:2010年3月7日17时35分 * 类说明:对MYSQL数据库的操作类 */ using System; using System.Data; using MyS ...

  3. PHP 数据库操作类:ezSQL

    EZSQL类介绍: 下载地址:http://www.jb51.net/codes/26393.htmlezsql是一个小型的快速的数据库操作类,可以让你很容易地用PHP操作各种数据库( MySQL.o ...

  4. php : mysql数据库操作类演示

    设计目标: 1,该类一实例化,就可以自动连接上mysql数据库: 2,该类可以单独去设定要使用的连接编码(set names XXX) 3,该类可以单独去设定要使用的数据库(use XXX): 4,可 ...

  5. PDO数据库操作类

    <?php include 'common_config.php'; /** * Class Mysql * PDO数据库操作类 */ class Mysql { protected stati ...

  6. MySQL数据库操作类(PHP实现,支持连贯操作)

    <?php /** * Author: suvan * CreateTime: 2018/2/27 * description: 数据库操作类(仅对接MySQL数据库,主要利用MySQLi函数) ...

  7. 数据库操作类《SqlHelper》

    一.背景 在看了一本书叫<Visual Studio 2010(C#)Windows数据库项目开发>后,觉得很多编程技术需要积累,因为一个简单的项目里包含的技术太多了,容易忘记.每次需要用 ...

  8. 扣出thinkphp数据库操作类

    假如你是一位thinkphp的使用者,想必你会觉得thinkphp操作数据库非常方便.现在在你面前有一个非常小的作业,小到完全没有必要用thinkphp去完成它.但是你又觉得不用thinkphp的话, ...

  9. 【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~

    最近用php做了点小东东,用上了ezSQL,感觉真的很ez,所以拿来跟大家分享一下~ ezSQL是一个非常好用的PHP数据库操作类.著名的开源博客WordPress的数据库操作就使用了ezSQL的My ...

随机推荐

  1. TCP/IP详解之:IGMP和DNS

    第13章 IGMP:Internet组管理协议 IGMP用于支持主机和路由器进行多播: IGMP是IP层的一部分,IGMP报文通过IP数据报进行传输: IGMP报文长度为固定8 Byte: 报文中,I ...

  2. hdu 4709 Herding hdu 2013 热身赛

    题意:给出笛卡尔坐标系上 n 个点,n不大于100,求出这些点中能围出的最小面积. 可以肯定的是三个点围成的面积是最小的,然后就暴力枚举,计算任意三点围成的面积.刚开始是求出三边的长,然后求面积,运算 ...

  3. 《C++ 标准库》读书笔记 - 第二章 Introduction to C++ and the Standard Library

    1. History of the C++ Standards 1.1 History of the C++ Standards C++98 -> C++03 -> TR1 -> C ...

  4. JavaWeb核心编程之(四.1)JSP

    JSP简介: JSP是简化Servlet编写的一种技术, 它将Java代码和HTML语句混合在一个文件中编写, 只对网页中药动态产生的内容采用Java代码来编写, 而对固定不变的静态内容采用普通的静态 ...

  5. jquery 获取select选中的值

    获取选中的名称:$("#selectPinType option:selected").text(); 获取选中的值:$("#selectPinType option:s ...

  6. VB2012读取xml

    上回谢了生成写xml的,现在把读取的补上 文件如下 <?xml version="1.0" encoding="UTF-8" standalone=&qu ...

  7. Oracle EBS-SQL (BOM-12):BOM清单查询

    select     msi.segment1                    装配件编码    ,msi.description                  装配件描述    ,msi. ...

  8. 如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

    http://blog.chinaunix.net/uid-20662820-id-4023733.html http://www.faqs.org/faqs/snmp-faq/part2/ http ...

  9. SSH连接不上

    网上查了 大概说,一要安装开启ssh服务 然后关掉防火墙 service sshd restart service iptables stop 可是我用了之后还是连接不上, 很郁闷. 我尝试着ping ...

  10. REST Web Server,REST介绍

    参考资料: 1.http://www.chinalivedoor.com/story/1123.html 2. Backbone.js 是一种重量级javascript  MVC 应用框架,通过Mod ...