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

简介: 上一篇文章基于AgileEAS.NET平台基础类库进行应用开发-总体说明及数据定义中对本案例所涉及的数据表及部分数据,本文开始将从最基本的业务,数据访问--SQL语句操纵开始。        在AgileEAS.NET平台中,对数据访问进行了封装,称为UDA(统一数据访问),有关于AgileEAS.NET平台UDA的介绍请参考AgileEAS.NET之统一数据访问一文。

       上一篇文章基于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脚本请下载:http://files.cnblogs.com/eastjade/demo.db.doc.sql.rar,本文代码下载:UDA.Demo1.rar

 

链接

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

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

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

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

AgileEAS.NET官方网站

敏捷软件工程实验室

QQ群:116773358

目录
相关文章
|
SQL XML 移动开发
【学习资料】第14期快速入门PostgreSQL应用开发与管理 - 4 高级SQL用法
大家好,这里是快速入门PostgreSQL应用开发与管理 - 4 高级SQL用法
|
4月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
6月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
139 13
|
6月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
|
6月前
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
76 6
|
6月前
|
存储 SQL C++
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
480 1