cyq.data oracle序列,CYQ.Data 数据框架 使用篇二 MAction 数据查询

本节内容:[带*号内容为新版本功能函数,旧版本可能没有该功能]

本篇继续上一篇内容,本节介绍所有相关查询的使用。

主要内容提要:1:单行数据操作 Fill 操作 GetCount、Exists(*)操作。

2:多行数据操作 Select 操作

3:列表绑定控件操作 配合分页控件

4:多表查询及绑定 视图及自定义SQL

单行数据操作

一:Fill 填充方法,单行查询

方法原形:publicboolFill(objectwhere)

示例1:直传ID

using(MAction action=newMAction(TableNames.Users))

{if(action.Fill(888))//查询主键=888的单行数据{

action.UI.SetToAll(this);

}

}

示例2:传复杂的where条件

using(MAction action=newMAction(TableNames.Users))

{if(action.Fill("id>888 or UserName='路过秋天'"))//查询ID>888或用户名为"路过秋天"的单行数据{action.UI.SetToAll(this);}

}

示例3:where条件附带order by

using(MAction action=newMAction(TableNames.Users))

{if(action.Fill("id>888 order by id desc"))//查询ID>888的结果中取ID最大的的单行数据{action.UI.SetToAll(this);}

}

示例4:[MDataRow]行数据转实体

using(MAction action=newMAction(TableNames.Users))

{if(action.Fill(888))//查询ID>888的结果中取ID最大的的单行数据{

UserInfo info=action.Data.ToEntity();//UserInfo为实体类。}}

二:GetCount 取统计总数

方法原形:publicintGetCount(stringwhere)

示例(若取总数据,参数可传空或Null):

using(MAction action=newMAction(TableNames.Users))

{intcount=action.GetCount("id>10");

}

三:Exists 是否存在指定条件的数据(*)方法原形:publicintExists(stringwhere)

示例:

using(MAction action=newMAction(TableNames.Users))

{bool userExists=action.Exists("路过秋天"); // 取唯一键(或除了主键开始的第一个字符串字段;智能推导为:UserName='路过秋天'

}

多行数据操作

三:Select 多数据查询

方法原形:1:publicMDataTable Select()

2:publicMDataTable Select(stringwhere)(*)3:publicMDataTable Select(intPageIndex,intPageSize,stringWhere,outintRowCount)

示例1:

using(MAction action=newMAction(TableNames.Users))

{

MDataTable tabme=action.Select();//查询所有数据}

示例2:

using(MAction action=newMAction(TableNames.Users))

{

MDataTable tabme=action.Select("id>10 order by id desc");//查询指定条件的所有数据并降序排列}

示例3:

intcount;//这个为返回的记录总数

using(MAction action=newMAction(TableNames.Users))

{

MDataTable tabme= action.Select(1,10,"id>10 order by id desc",outcount);

//查询id>10的10条记录[第1页,每页10条数据,结果按usename排序]}

列表绑定操作

四:绑定GridView/DataList/Repeater

示例1:查询所有直接绑定

using(MAction action=newMAction(TableNames.Users))

{action.Select().Bind(gvUsers);

}

publicvoidBindData()

{intcount;

using(MAction action=newMAction(TableNames.Users))

{action.Select(Pager1.PageIndex,Pager1.PageSize,"id>10 order by id desc",outcount).Bind(gvUsers);

}

Pager1.Count =count;//设置记录总数Pager1.BindName="BindData";//绑定方法名称,需要为Public

}

多表查询及绑定

五:视图方式

示例1:和表操作一样,唯一区别就是表名换成视图名称

using(MAction action=newMAction(ViewNames.V_Users))

{

MDataTable tabme=action.Select();//查询所有数据}

六:多表查询:自定义构造多表SQL语句

示例1:

publicvoidBindData()

{

stringcustomTable="select u.*,m.Body from Users u left join Message m on u.ID=m.UserID";intcount;

using(MAction action=newMAction(customTable))

{action.Select(Pager1.PageIndex,Pager1.PageSize,"id>10 order by id desc",outcount).Bind(gvUsers);

}

Pager1.Count =count;//设置记录总数Pager1.BindName="BindData";//绑定方法名称,需要为Public

}

说明:

在具体使用过程中,为了方便管理,直接出现在自定义SQL语句就不这样直接写在界面中了,可以新项建一个项目统一管理自定义的SQL。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值