Farseer.net轻量级开源框架 入门篇:增、删、改、查操作演示
2013-01-22 12:40
549 查看
导航
目 录:Farseer.net轻量级开源框架 目录
上一篇:Farseer.net轻量级开源框架 入门篇: 使用前说明
下一篇:Farseer.net轻量级开源框架 入门篇: 逻辑层的选择
数据库结构
可以在这里 下载 源码(包括数据库)
首先,建立一个数据库:Farseer (以后的demo里,所有表都在这个库里)
如下图:表:Members_User
~/App_Data/db.config
回顾完成的准备
实际上,我们只做了三件事情:
1:实体类创建
2:Web.config的数据库提供配置
3:db.config的数据库权限配置
页面中,添加操作
页面中,修改操作
页面中,列表操作
绑定枚举
页面中,删除的操作
导航
目 录:Farseer.net轻量级开源框架 目录
上一篇:Farseer.net轻量级开源框架 入门篇: 使用前说明
下一篇:Farseer.net轻量级开源框架 入门篇: 逻辑层的选择
广告时间
QQ群:116228666 (Farseer.net开源框架交流) 请注明:[b]Farseer.Net[/b]
Farseer.Net是一款ORM框架 + 常用工具 + 扩展集合。
Farseer 意为:先知、预言家 通常在某些场合时,提供计谋、策略。也希望该框架能给大家提供最大化的便捷。
ORM:其英文全称是:Object(对象) Relational(关系) Mapping(映射)
Farseer.Net的目标是:快速上手、快速开发、简单方便。
目 录:Farseer.net轻量级开源框架 目录
上一篇:Farseer.net轻量级开源框架 入门篇: 使用前说明
下一篇:Farseer.net轻量级开源框架 入门篇: 逻辑层的选择
数据库结构
可以在这里 下载 源码(包括数据库)
首先,建立一个数据库:Farseer (以后的demo里,所有表都在这个库里)
如下图:表:Members_User
~/App_Data/db.config
<?xml version="1.0"?> <DbConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <DbList> <DbInfo> <Server>.</Server> <UserID>sa</UserID> <PassWord>123456</PassWord> <DataType>SqlServer</DataType> <DataVer>2005</DataVer> <Catalog>Farseer</Catalog> <PoolMinSize>16</PoolMinSize> <PoolMaxSize>100</PoolMaxSize> <ConnectTimeout>30</ConnectTimeout> <CommandTimeout>60</CommandTimeout> </DbInfo> </DbList> </DbConfig>
回顾完成的准备
实际上,我们只做了三件事情:
1:实体类创建
2:Web.config的数据库提供配置
3:db.config的数据库权限配置
页面中,添加操作
<table class="auto-style1"> <tr> <td class="auto-style2">用户名</td> <td><asp:TextBox ID="hlUserName" runat="server"></asp:TextBox></td> </tr> <tr> <td class="auto-style2">密码</td> <td><asp:TextBox ID="hlPassWord" runat="server"></asp:TextBox></td> </tr> <tr> <td class="auto-style2">性别</td> <td><asp:RadioButtonList ID="hlGenderType" runat="server" RepeatDirection="Horizontal"></asp:RadioButtonList></td> </tr> <tr> <td colspan="2" align="center"><asp:Button ID="btnAdd" runat="server" Text="添加" /></td> </tr> </table>
void btnAdd_Click(object sender, EventArgs e) { // Users.Form 从表单Post接收的数据。 // 我们通过"前缀名称" + 实体属性名称 来定义各个html input控件的Name。达到自动转换成实体 // 前缀一般默认为:"hl" 代表html的意思 Users info = Users.Form(); // 检测实体类赋值情况。根据实体类的特性申明,进行判断 // 比如判断用户输入的字符长度、必填、数字类型、手机、邮箱类型(支持正则验证) if (!info.Check()) { return; } // 将值插入到数据库 // 因为ID是自增,所以不需要赋值,同时框架通过判断属性是否为null 来决定是保存要保存到数据库。 info.Insert(); // 弹出alert() js 框 JavaScript.Alert("注册成功!", "/"); }
页面中,修改操作
<table class="auto-style1"> <tr> <td class="auto-style2">用户名</td> <td><asp:TextBox ID="hl2UserName" runat="server"></asp:TextBox></td> </tr> <tr> <td class="auto-style2">密码</td> <td><asp:TextBox ID="hl2PassWord" runat="server"></asp:TextBox></td> </tr> <tr> <td class="auto-style2">性别</td> <td><asp:RadioButtonList ID="hl2GenderType" runat="server" RepeatDirection="Horizontal"></asp:RadioButtonList></td> </tr> <tr> <td colspan="2" align="center"><asp:Button ID="btnSave" runat="server" Text="修改" Enabled="false" /></td> </tr> </table>
void btnSave_Click(object sender, EventArgs e) { // req的意思是Request的缩写,这样我们很容易判断出这个变量的意思 // QS全称是:Request.QueryString 派生自:BasePage实现的。其方法实现在:FS.Utils.Web.Req.QS 中 // 除此外,还有QF:Request.Form、QA:先执行QS,如果没值,再执行QF操作 // 第二个 0 的参数意思是 默认值 ,0 代表是整型。当转换不成功。则默认为0 可以传入任意基本类型,如:bool、string、decimal等等 var reqID = QS("ID", 0); // Users.Form 从表单Post接收的数据。 // 我们通过"前缀名称" + 实体属性名称 来定义各个html input控件的Name。达到自动转换成实体 // 前缀一般默认为:"hl" 代表html的意思 Users info = Users.Form(null, "hl2"); // 检测实体类赋值情况。根据实体类的特性申明,进行判断 // 比如判断用户输入的字符长度、必填、数字类型、手机、邮箱类型(支持正则验证) if (!info.Check()) { return; } // 这里是更新到数据库的意思 // reqID 是通过标识字段的ID来判断。里面有多个重载版本。 // 框架通过判断属性是否为null 来决定是保存要保存到数据库。 info.Update(reqID); // 弹出alert() js 框 JavaScript.Alert("修改成功!", "/"); }
页面中,列表操作
<table class="auto-style1" style="width: 800px"> <tr> <td>系统编号</td> <td>名称</td> <td>密码</td> <td>性别</td> <td>登陆次数</td> <td>登陆IP</td> <td>操作</td> </tr> <FS:Repeater ID="rptList" runat="server"> <ItemTemplate> <tr> <td><%# ((Users)Container.DataItem).ID%></td> <td><%# ((Users)Container.DataItem).UserName%></td> <td><%# ((Users)Container.DataItem).PassWord%></td> <td><%# ((Users)Container.DataItem).GenderType.GetName()%></td> <td><%# ((Users)Container.DataItem).LoginCount%></td> <td><%# ((Users)Container.DataItem).LoginIP%></td> <td><a href="?oper=update&ID=<%# ((Users)Container.DataItem).ID%>">修改</a> <a href="?oper=del&ID=<%# ((Users)Container.DataItem).ID%>">删除</a> </td> </tr> </ItemTemplate> <PaginationHtml><tr class="tdbg" align="center" style="height: 28px;"><td colspan="12"><Pagination /></td></tr></PaginationHtml> </FS:Repeater> </table>
// 数据分页、并绑定到Repeater中 // 这里的分页是真实的数据库先进行分页获取数据,然后再在Repeater中进行实现 上一页、下一页的操作显示 // rptList 是FS:Repeater控件 继承自原生的Repeater控件的基础上,实现上下页的菜单显示。 // ToList 传入rptList。实际是告诉ToList 我要从数据库获取第几页的数据,同时把数据库的Count总数,设置到Repeater中 rptList.Bind(Users.Data.ToList(rptList));
绑定枚举
// 绑定 性别 枚举 到控件中 // 通过对枚举的 [Display(Name = "男士")] 设置来显示中文 // 对于DropDownList、CheckBoxList、RadioButtonList、Repeater 的绑定操作是完全一样的哦 // 当然不仅仅是绑定枚举、包括你的List<User> 都可以。对于实体的中文显示,默认是Caption字段 hlGenderType.Bind(typeof(Users.eumGenderType)); hl2GenderType.Bind(typeof(Users.eumGenderType));
页面中,删除的操作
// Delete() 删除指定Where条件的数据 // ToList()、Delete、Update 都是在 Users.Data 下操作的哦 // 只要是继承自BaseModel,对数据库的操作都是在:对象名称.Data 下操作的 Users.Data.Where(o => o.ID == reqID).Delete(); JavaScript.Alert("删除成功", "/");
到此,我们经常操作的:保存、修改、列表、获取单条信息、删除的操作。都演示了一遍。 查看更齐全的代码。在这里 下载 源码(包括数据库) |
目 录:Farseer.net轻量级开源框架 目录
上一篇:Farseer.net轻量级开源框架 入门篇: 使用前说明
下一篇:Farseer.net轻量级开源框架 入门篇: 逻辑层的选择
广告时间
QQ群:116228666 (Farseer.net开源框架交流) 请注明:[b]Farseer.Net[/b]
Farseer.Net是一款ORM框架 + 常用工具 + 扩展集合。
Farseer 意为:先知、预言家 通常在某些场合时,提供计谋、策略。也希望该框架能给大家提供最大化的便捷。
ORM:其英文全称是:Object(对象) Relational(关系) Mapping(映射)
Farseer.Net的目标是:快速上手、快速开发、简单方便。
new User { ID = 1, Name = "张三" }.Insert()
相关文章推荐
- Farseer.net轻量级开源框架 入门篇:添加数据详解
- Farseer.net轻量级开源框架 入门篇:修改数据详解
- Farseer.net轻量级开源框架 入门篇:删除数据详解
- Farseer.net轻量级开源框架 入门篇:使用前说明
- Farseer.net轻量级开源框架 入门篇:Where条件的终极使用
- Farseer.net轻量级开源框架 入门篇:查询数据详解
- Farseer.net轻量级开源框架 入门篇:实体类
- Farseer.net轻量级开源框架 入门篇:普通逻辑层
- Farseer.net轻量级开源框架 入门篇:缓存逻辑层
- Farseer.net轻量级开源框架 入门篇:分类逻辑层
- Farseer.net轻量级开源框架 简介
- Farseer.net轻量级开源框架 中级篇:执行SQL语句
- Farseer.net轻量级开源框架 中级篇:Cookies、Session、Request
- Farseer.net轻量级开源框架 中级篇:动态数据库访问
- Farseer.net轻量级开源框架 中级篇:数据库切换
- Farseer.net轻量级开源框架 中级篇:探究ORM(Mapping)
- Farseer.net轻量级开源框架 中级篇:事务的使用
- Farseer.net轻量级开源框架 版本更新及下载
- Farseer.net轻量级开源框架 中级篇:UrlRewriter 地址重写
- Farseer.net轻量级开源框架 中级篇:自定义配置文件