一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-通过SQL实现特殊业务...

          前面的四篇文章演示ORM的一些常规操作与配置,通过前面的文章,应用开发人员要可以使用ORM开发出简单的应用,但是,ORM也不是万能钥匙,在业务应用中,还有很多是ORM解决不了的问题,对于这些问题,我们必须景借助于SQL语句。

本文重点

          既然ORM解决不了所有的问题,我们得借助于SQL语句,也就是我们可以理解为在DAL层,在ORM对象中,还得支持SQL的操作:

[3A0DOVP)2C9[UV9(~OB6$S

          AgileEAS.NET平台中的ORM提供了这种支持,他通过了ORM对象提供的DataAccessor属性完成SQL语句的查询与执行,即在ORM组件中支持下的程序写法:

           this.DataAccessor.Execute(sql语句,参数)。

          有关于UDA对象的使用请参考一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-使用UDA操纵SQL语句、一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-UDA中的委托与应用、一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-UDA中处理事务三篇文章。

演示的例子

          本文的演示我将在前面的演示的基础之上演示实现取得商品字典中最大的IDN号的实现,首先我们修改ClassLibDemo.DAL.SQLServer项目的Product.cs文件,在类Product中增加如下代码:

 1         /// <summary>
 2         /// 取记录最大号。
 3         /// </summary>
 4         /// <returns></returns>
 5         public int GetMaxIdn()
 6         {
 7             return (int)this.DataAccessor.Query("select isnull(max(idn),0) maxid from " + this.DbTableName);
 8         }
 9 
10         /// <summary>
11         /// 取记录最大号。
12         /// </summary>
13         /// <returns></returns>
14         public int GetMaxNewIdn()
15         {
16             return (int)this.DataAccessor.Query("select isnull(max(idn),0)+1 maxid from " + this.DbTableName);
17         }

 

         然后我们在ClassLib.OrmDemo项目的DataObjectDemo增加如下代码:

 1         /// <summary>
 2         /// 演示增加一条记录。
 3         /// </summary>
 4         public void DemoInsert2()
 5         {
 6             Product product = new Product();
 7             product.OrmAccessor = OrmContext.OrmAccessor;
 8 
 9             product.Idn = product.GetMaxNewIdn();
10             product.Code = "AXX-" + product.Idn.ToString("D6");
11             product.Name = "台式电脑";
12             product.Spec = "主流配置/扣肉i7/21显示";
13             product.Unit = "台/套";
14             product.Description = string.Empty;
15 
16             try
17             {
18                 product.Insert();
19                 System.Console.WriteLine("成功插入记录");
20             }
21             catch (System.Exception exc)
22             {
23                 System.Console.WriteLine("插入记录出错:" + exc.Message);
24             }
25         }
26 
27         /// <summary>
28         /// 演示读取一条记录。
29         /// </summary>
30         public void DemoQuery2()
31         {
32             Product product = new Product();
33             product.OrmAccessor = OrmContext.OrmAccessor;
34             product.Code = "AXX-" + product.GetMaxIdn().ToString("D6");
35             product.Refresh(); //读数据
36 
37             if (product.Exists)
38             {
39                 System.Console.WriteLine(string.Format("已查询以记录:Idn={0}\tCode={1}\tName={2}\tSpec={3}\tUnit={4}\tDescription={5}", product.Idn, product.Code, product.Name, product.Spec, product.Unit, product.Description));
40             }
41             else
42             {
43                 System.Console.WriteLine("不存在此记录");
44             }
45         }

 

流程主控代码中增加如下代码:
    System.Console.WriteLine("按任意键继续...");System.Console.Read();System.Console.WriteLine("演示自定义业务(取最大号Insert)的例子:");new DataObjectDemo().DemoInsert2();new DataObjectDemo().DemoQuery2();

          编译运行,输出结果:

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

链接

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

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

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

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

AgileEAS.NET官方网站

敏捷软件工程实验室

QQ群:116773358

转载于:https://www.cnblogs.com/eastjade/archive/2010/10/05/1842927.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495755.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

英特尔详解5G将如何助力VR的未来发展

来源&#xff1a;亿欧智库摘要&#xff1a;英特尔中国研究院通过重点研究通信和计算融合的方式&#xff0c;解释了5G在面对巨大数据洪流时数据处理和传输的方式&#xff0c;通过边缘计算的新方法&#xff0c;使VR达到传输要求。打造一个高效的通信和计算系统&#xff0c;通往我…

王爽 汇编语言第三版 第8章( 寻址方式 ) --- 数据处理的两个问题

第八章 数据处理的两个基本问题 8.6 综合应用 示例代码 1&#xff1a; assume cs:codesg,ds:datasgdatasg segmentdb 1024 dup (0) datasg endscodesg segmentstart:mov ax,datasgmov ds,axmov bx,60h ; 确定记录地址 ds:bxmov word ptr [bx0ch],38 ;…

综述AI未来:神经科学启发的类脑计算

来源&#xff1a;运筹OR帷幄 作者&#xff1a;周岩摘要&#xff1a;脑科学是一门实践性很强的交叉学科&#xff0c;包含了神经科学&#xff0c;医学&#xff0c;数学&#xff0c;计算科学等多门学科。随着近几年深度学习的迅速发展&#xff0c;人工智能成为了无论学术界还是互…

[翻译]Wine完全使用指南——从基本到高级[转]

转载自 : http://forum.ubuntu.org.cn/viewtopic.php?t72933为了回应最近网友的一些普遍问题&#xff0c;特此作以下说明&#xff1a; 1、如果发现wine的注册表没有相应的键值&#xff0c;要自己创建。有时候用命令不行的话&#xff0c;只能手动一个个添加。 2、wine还是一个…

Flask --- 框架快速入门

From&#xff1a;http://docs.jinkan.org/docs/flask/quickstart.html Flask 用户指南&#xff1a;http://docs.jinkan.org/docs/flask/index.html w3cschool.cn 的 Flask 教程&#xff1a;https://www.w3cschool.cn/flask/ 《Flask Web开发&#xff1a;基于Python的Web应用…

AI与基因科学的对话:从“人工智能”到“动物智能”

来源&#xff1a;亿欧网有人的地方就有江湖&#xff0c;巨头们一次次的“技术战役”就是现代江湖的样子。各家企业牢牢把握住科技就是第一生产力的关键&#xff0c;不断的较量平台、技术、场景、生态等多方面的综合实力&#xff0c;你方唱罢我登场好不热闹。在我们的认知中&…

顺序程序设计03 - 零基础入门学习C语言09

第三章&#xff1a;顺序程序设计03 让编程改变世界 Change the world by program 题目&#xff1a;输入三角形的三边长&#xff0c;求三角形面积。 已知三角形的三边长a,b,c&#xff0c;则该三角形的面积公式为&#xff1a; [caption id"attachment_64" align"a…

王爽 汇编语言第三版 第9章 转移指令的原理

第九章 转移指令的原理 汇编代码&#xff1a; assume cs:codesgcodesg segments: mov ax,bx ; mov ax,bx 的机器码占两个字节mov si, offset smov di, offset s0mov ax, cs:[si]mov cs:[di], axs0:nop ; nop 机器码占一个字节nopmov ax, 4c00hint 21h codesg ends end s 9…

触摸心灵-触觉感知和发展的模型

来源&#xff1a;计算机触觉触觉感知和发展的模型触觉感知模型是数学结构&#xff0c;试图解释触觉积累关于环境中的物体和试剂的信息的过程。 由于触觉是一种主动的感觉&#xff0c;即感觉器官在感觉过程中被移动&#xff0c;所以这些模型经常描述优化感知结果的运动策略。 触…

MFC 最详细入门教程

From&#xff1a;https://blog.csdn.net/wang18323834864/article/details/78621633/ Visual Studio 2019&#xff1a;https://visualstudio.microsoft.com/zh-hans/ 鸡啄米 ----- VS2010/MFC编程入门教程之目录和总结&#xff1a;http://www.jizhuomi.com/software/257.html …

没中、美这么大的统一市场,欧盟人工智能发展面临双重挑战

来源&#xff1a;澎湃新闻 作者&#xff1a;胡逸涵为在人工智能领域追赶中美两国&#xff0c;近日&#xff0c;欧盟将2020年前对人工智能&#xff08;AI&#xff09;的投资额增加约70%&#xff0c;至15亿欧元。欧盟希望到2020年底&#xff0c;整个欧盟在AI技术领域&#xff0…

人生的闲言碎语

1.人的一生 选对老师&#xff0c;智慧一生&#xff1b;选对伴侣&#xff0c;幸福一生&#xff1b;选对环境&#xff0c;快乐一生&#xff1b;选对朋友&#xff0c;甜蜜一生&#xff1b;选对行业&#xff0c;成就一生。 2.头头是道 人生一世&#xff0c;要起好头&#xff1a;…

error LNK2019: 无法解析的外部符号 WinMain,该符号在函数 int __cdecl invoke_main(void)”中被引用

From&#xff1a;https://blog.csdn.net/u012570056/article/details/74639894 一&#xff0c;问题描述 MSVCRTD.lib(exe_winmain.obj) : error LNK2019: 无法解析的外部符号 WinMain&#xff0c;该符号在函数 "int __cdecl invoke_main(void)" (?invoke_mainYAHXZ…

德国人工智能研究中心波尔特:人工智能与工业4.0并驾齐驱

来源&#xff1a;科技日报摘要&#xff1a;2013年德国政府提出的“工业4.0”战略就涵盖了人工智能。“工业4.0”战略着重在制造业等领域相互利用。以深度学习、自我升级为主要特征的人工智能有望将人类各方面智能拓展到极限&#xff0c;从而在各领域做到极致。人工智能的研发在…

C++ 基本数据类型 的 字节数

From&#xff1a;https://www.cnblogs.com/qiumingcheng/p/7824919.html C语言入门经典——基础知识&#xff08;数据类型&#xff09;&#xff1a;https://blog.csdn.net/weixin_42167759/article/details/80404815 闲聊c/c: 各平台下基本数据类型的字节长度&#xff1a;htt…

协作机器人的江湖:把人放在首位

来源&#xff1a;机器人创新生态 作者&#xff1a;张有凤远离硅谷及亚洲电子产业中心的地方&#xff0c;一个拥有许多灵魂的小创业公司正在掀起波澜。在伊利湖东端&#xff0c;一个由丹麦移民创办的公司正在布法罗市中心的所有地方建造移动计算机。在美国平板制造厂商Bak的厂…

Visual Assist X 安装、使用 和 快捷键

Visual Assist 官网地址&#xff1a;https://www.wholetomato.com visual Assist 快捷键大全&#xff1a;https://blog.csdn.net/dddd0216/article/details/80082885 Visual Assist X的使用&#xff1a;https://jingyan.baidu.com/article/380abd0a4844111d90192c9a.html Vi…

盘点丨毕业年薪34万,高校人工智能研究哪家强?

来源&#xff1a;亿欧网摘要&#xff1a;人才短缺已经成为了制约人工智能技术发展和应用落地的一大短板&#xff0c;为了弥补这一短板&#xff0c;加强人才培养&#xff0c;近日教育部发布了《高等学校人工智能创新行动计划》此前有报道显示&#xff0c;2017年AI工程师平均年薪…

第1章 Hello MFC

微软 MFC 官方文档&#xff1a;https://docs.microsoft.com/zh-cn/cpp/mfc/mfc-desktop-applications?viewvs-2019 MFC 层次结构图以及下载地址&#xff1a;https://docs.microsoft.com/zh-cn/cpp/mfc/hierarchy-chart?viewvs-2019 VC6.0/VS2005/VS2010/VS2012/VS2013/VS201…