• 一步一步教你使用AgileEAS.NET基础类库进行应用开发基础篇使用UDA操纵SQL语句


           上一篇文章基于AgileEAS.NET平台基础类库进行应用开发-总体说明及数据定义中对本案例所涉及的数据表及部分数据,本文开始将从最基本的业务,数据访问--SQL语句操纵开始。

           在AgileEAS.NET平台中,对数据访问进行了封装,称为UDA(统一数据访问),有关于AgileEAS.NET平台UDA的介绍请参考AgileEAS.NET之统一数据访问一文。

           在UDA中定义两个接口IDataConnection和IDataAccessor两个接口,IDataConnection提供了数据连接环境IDataAccessor提供了进行SQL语句操作的能力。

    处理流程

           如果使用UDA进行数据库操作呢,请看下面的流程:

    image
           我们转换程序代码即为:

        public void FullFlow()
        {
            string dbConnectiong = "";
            IDataConnection dataConnection = new OleDbConnection(dbConnectiong);
            IDataAccessor dataAccessor = dataConnection.CreateDataAccessor();
    
            dataConnection.Open();
            try
            {
                //Do ... 
            }
            finally
            {
                dataConnection.Close();
            }
        }
     
           IDataConnection对象内置了自动管理连接打开与关闭的功能,上功的流程刚可以简化为:

    数据操作方法:

           IDataAccessor提供了Query和Execute两个不同重载的方法,Query用于实现数据查询业务,Execute用于实现操作更新修改业务,基于Query方法衍生了QueryScalar、QueryDataReader、QueryDataSet、QueryDataTable、QueryDictionary、QueryList说法,每一个衍生方法都对应于Query重载的某一种返回类型,在UDA中数据分别以Oject、IDataReader、DataSet、DataTable、IDictionary、IList返回,这里面有两个特殊的返回结果IDictionary、IList,IDictionary用于返回一条查询记录的键值对(字段名/字段值)、IList用于返回查询记录的第一列的值。Execute没有什么特殊的了。

    案例介绍:

           本文附带的例子演示UDA业务中除事务处理之后的业务,针对每个数据操作说法,我都写一个具体的例子方法,下面我贴上Main方法代码:

        static void Main(string[] args)
        {
            System.Console.WriteLine("AgileEAS.NET平台UDA组件使用例子,按任务键开始...");
            System.Console.Read();
            System.Console.WriteLine("使用IDataReader的例子:");
            new UdaQuery().DemeGetDataReader();
    
            System.Console.WriteLine("按任务键开始...");
            System.Console.Read();
            System.Console.WriteLine("使用IDataSet的例子:");
            new UdaQuery().DemeGetDataSet();
    
            System.Console.WriteLine("按任务键开始...");
            System.Console.Read();
            System.Console.WriteLine("使用IDataTable的例子:");
            new UdaQuery().DemeGetDataTable();
    
            System.Console.WriteLine("按任务键开始...");
            System.Console.Read();
            System.Console.WriteLine("使用Dictionary的例子:");
            new UdaQuery().DemeGetDictionary();
    
            System.Console.WriteLine("按任务键开始...");
            System.Console.Read();
            System.Console.WriteLine("使用List的例子:");
            new UdaQuery().DemeGetList();
    
            System.Console.WriteLine("按任务键开始...");
            System.Console.Read();
            System.Console.WriteLine("使用Scalar的例子:");
            new UdaQuery().DemeGetScalar();
    
            System.Console.WriteLine("按任务键开始...");
            System.Console.Read();
            System.Console.WriteLine("数据更新的例子:");
            new UdaExecute().DemeExecute();
    
            System.Console.WriteLine("按任务键结束。");
            System.Console.Read();
        }
           

              其他参考请参考源码的UdaQuery和UdaExecute两个类,例子运行效果如下:

    image
               本文例子就到这,在下文我将介绍AgileEAS.NET平台中的UDA的高级应用DataReader委托和事务委托。

              有关本例子所涉及的数据表结构请参考基于AgileEAS.NET平台基础类库进行应用开发-总体说明及数据定义一文,有关数据对象模型定义文件、文档、DDL脚本请下载:https://files.cnblogs.com/eastjade/demo.db.doc.sql.rar,本文代码下载:UDA.Demo1.rar

    链接

    AgileEAS.NET平台开发指南-系列目录

    AgileEAS.NET应用开发平台介绍-文章索引

    AgileEAS.NET平台应用开发教程-案例计划

    一步一步教你使用AgileEAS.NET基础类库进行应用开发-系列目录

    AgileEAS.NET官方网站

    敏捷软件工程实验室

    QQ群:116773358

  • 相关阅读:
    模板方法设计模式(未完待续)
    适配器模式
    g2o:一种图优化的C++框架
    U14.04 teamviewer install
    小教训
    卡2-SLAM
    Odometry的发布和发布odom到base_link的tf变换
    #pragma once
    友元
    Ubuntu 14.04 安装配置强大的星际译王(stardict)词典
  • 原文地址:https://www.cnblogs.com/eastjade/p/1830957.html
Copyright © 2020-2023  润新知