您的位置:首页 > 数据库

开源组件Smark.Data处理SQL和存储过程

2012-10-19 22:40 267 查看

完全通过组件对象描述的方式来完成所有数据库操作是不太现实的事情,所以组件提供SQL和存储过程的执行支持.随着组件版本的不断完善在1.7后组件在使用SQL和存储也是一件极其方便的事情.其简洁的操作方式相信在其他数据访问组件中难以体验到.


SQL处理


组件提供一个SQL对象用于直接处理SQL语句,由于重写了运算符,所以对象可以直接通过string来进行初始化.

?
SQL是组件1.7开始提供的对象,它提供以下基础操作方法

int Execute()
获取受影响的行数,一般用于执行insert,delete和update时候需要.

T GetValue<T>
获取查询结果第一行第一列的值,主要用于执行一此汇总统计,count,sum等

ListFirst<T>
获取符合查询的第一条记录并填充到相应的对象中

List<T>
获取符合查询的记录填充到相应对象中

执行删除数据

?
执行查询

?
SQL合并操作

?
统计

?
混合条件

由于组件提供基于对象的描述表达,但对于一些复杂的条件其某些字条件用string描述相对来说会更简单简洁.



?

存储处理


组件支持直接存储过程执行,而存储过程的描述基本和表实体描述一样.以下是一个简单的存储过程描述:

?
以上对象描述的存储过程名是CustOrderHist,而存储带一个CustomerID的输入参数.描述存储只要有两个Attribute:

Proc
用于描述一个类和存储过程的映射,如果不指定Name参数的情况下则用类名称对应存储过程名称.

ProcParameter
用于描述类成员作为存储过程的参数,如果不指定Name参数的情况则用成员名称作为参数名;通过Direction属性来指定参数的类型,默认是输入类型,如果是输出类型则存储过程的返回值会绑定到相关成员中.

执行存储过程:

?
也可以根据执行存储返回一个数据集,以下存储过程的结果如下:




可以针对相应的字段定义一个对象:

?
定义后就可以存储过程返回相应的对象集合.

?
项目地址:http://smark.codeplex.com/

官网主页:http://www.ikende.com/SmarkData.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐