杏耀平台注册

ClownFish:比手【杏耀】写代码还快的通用数据访问层


所以,只要是使用ClownFish哪怕是访问Access数据库,也能有这样的监控效果。(前面有图片证明)

对于前4类方式,ClownFish在内部定义一个枚举来表示:

下面再来看看如何从数据库中加载它们:

因为,我的写作热情也离不开您的肯定支持。

这里涉及到另一个名词:XmlCommand。它是什么,我后面再说。
XmlCommand是什么?

前面已经多次提到了XmlCommand,这里来解释一下XmlCommand是什么。

可以修改 MyMVC框架 演示网站中的web.config来切换数据访问方法:

上图反映了在执行MySql,Access的访问情况。

参数 cmdKind 的意义就是解释第一个参数的含义。

如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的按钮。

看完这二个测试,ClownFish 有没有给您留下二个印象?

说明:根据查询生成的类型,工具不知道如何命名, 杏耀娱乐注册,需要你在使用时改名。

5. 灵活:支持存储过程,参数化SQL,或者将SQL语句保存在XML配置文件中。

1. ClownFishDEMO是一个综合示例,网站型项目。运行效果图:

1. 方便在 .net 项目中执行数据访问任务。
4. 有些人就是喜欢在C#代码中拼接SQL语句。
还有一件让我忧虑的事情:示例中还演示了 MySql的访问!

下面继续使用前面的测试参数来运行测试程序,得到以下测试结果:

不仅仅是以上三个项目演示了如何使用ClownFish, 我还为以前的 MyMVC框架 的示例程序增加了数据库访问功能(以前只支持XML文件)。
Product product = CreateTestProduct(); // 插入一条新记录 DbHelper.ExecuteNonQuery("InsertProduct", product); sb.AppendFormat("InsertProduct OK, ProductId is : {0}\r\n", product.ProductID);

看到了吧,其实只有一行代码(中间那行)。

2. MultiAccountDEMO是一个多帐套的演示网站。演示了一套代码处理多帐套的功能。

public static class DbHelper { public static int ExecuteNonQuery( string nameOrSql, object inputParams); public static int ExecuteNonQuery( string nameOrSql, object inputParams, CommandKind cmdKind); public static int ExecuteNonQuery( string nameOrSql, object inputParams, DbContext dbContext); public static int ExecuteNonQuery( string nameOrSql, object inputParams, DbContext dbContext, CommandKind cmdKind); // 其它的数据库访问方法就不一一列出了,可以查阅API文档。 }

DbHelper的所有数据库访问方法都提供与以上类似的4个重载方法。

或许有些人知道:我是喜欢用存储过程的。我之所以喜欢存储过程,是因为存储过程的代码与项目代码是独立的, 我可以单独修改存储过程。而且,我还喜欢参数化的查询,反对使用拼接SQL语句。 我认为我是将数据库做为我的SQL语句保存容器在使用,存储过程只是这一种方式而已(因为它有参数管理功能)。

create procedure GetProductByCategoryId( @CategoryID int, @PageIndex int = 0, @PageSize int = 20, @TotalRecords int output ) as begin declare @ResultTable table ( RowIndex int, ProductID int, ProductName nvarchar(50), CategoryID int, Unit nvarchar(10), UnitPrice money, Quantity int ); insert into @ResultTable select row_number() over (order by ProductID asc) as RowIndex, p.ProductID, p.ProductName, p.CategoryID, p.Unit, p.UnitPrice, p.Quantity from Products as p where CategoryID = @CategoryID; select @TotalRecords = count(*) from @ResultTable; select * from @ResultTable where RowIndex > (@PageSize * @PageIndex) and RowIndex <= (@PageSize * (@PageIndex+1)); end;

上一篇:他希望国有企 【杏耀平台】业带头提高创新能力

下一篇:從醒酒宿醉、口臭、腰 【杏耀娱乐注册】痛到降低膽固醇、預防老人痴呆等

杏彩娱乐官网 版权所有
杏耀娱乐平台注册登陆 网站地图
杏耀娱乐平台注册登陆 用户地图
友情链接: