一步一步教你使用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语句,参数)。

演示的例子

          本文的演示我将在前面的演示的基础之上演示实现取得商品字典中最大的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
链接
QQ群:116773358
本文转自 agilelab 51CTO博客,原文链接:http://blog.51cto.com/agilelab/603030


相关文章
|
2月前
|
SQL 数据库 C#
C# .NET面试系列十一:数据库SQL查询(附建表语句)
#### 第1题 用一条 SQL 语句 查询出每门课都大于80 分的学生姓名 建表语句: ```sql create table tableA ( name varchar(10), kecheng varchar(10), fenshu int(11) ) DEFAULT CHARSET = 'utf8'; ``` 插入数据 ```sql insert into tableA values ('张三', '语文', 81); insert into tableA values ('张三', '数学', 75); insert into tableA values ('李四',
75 2
C# .NET面试系列十一:数据库SQL查询(附建表语句)
|
SQL XML Oracle
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
374 0
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
|
3月前
|
SQL 开发框架 .NET
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
37 0
|
5月前
|
SQL 数据库连接 数据库
VB.NET 中使用SqlConnection类连接到Microsoft SQL Server数据库的详细步骤
VB.NET 中使用SqlConnection类连接到Microsoft SQL Server数据库的详细步骤
107 0
|
10月前
|
SQL 开发框架 前端开发
ASP.NET Core+Element+SQL Server开发校园图书管理系统(完)
ASP.NET Core+Element+SQL Server开发校园图书管理系统(完)
97 0
|
10月前
|
开发框架 JavaScript .NET
ASP.NET Core+Element+SQL Server开发校园图书管理系统(四)(下)
ASP.NET Core+Element+SQL Server开发校园图书管理系统(四)(下)
71 0
|
10月前
|
开发框架 前端开发 JavaScript
ASP.NET Core+Element+SQL Server开发校园图书管理系统(四)(上)
ASP.NET Core+Element+SQL Server开发校园图书管理系统(四)(上)
75 0
|
10月前
|
开发框架 JavaScript .NET
ASP.NET Core+Element+SQL Server开发校园图书管理系统(三)(下)
ASP.NET Core+Element+SQL Server开发校园图书管理系统(三)(下)
55 0
ASP.NET Core+Element+SQL Server开发校园图书管理系统(三)(下)
|
XML SQL Java
Mybatis-Plus中实现使用xml文件来写复杂sql
Mybatis-Plus中实现使用xml文件来写复杂sql
1378 0
|
SQL Web App开发 Java
十四、.net core(.NET 6)搭建ElasticSearch(ES)系列之给ElasticSearch添加SQL插件和浏览器插件
给ES添加SQL插件的方法:下载SQL插件地址:https://github.com/NLPchina/elasticsearch-sql当前最新的是7.12版本,我的ES是7.13版本,暂且将就用一下,也许能用呢?
223 0
十四、.net core(.NET 6)搭建ElasticSearch(ES)系列之给ElasticSearch添加SQL插件和浏览器插件