【原创】封装数据库操作以及在Razol引擎中使用
2011-11-01 16:34
483 查看
数据库操作是一件繁琐的事情,不停的读取,增加,删除等行为,而且存在大量的拼接字符串操作,稍微不注意很有可能就出错,为此我们要简化数据库操作的代码来让数据库操作变的更为简单一点,自从发表上一篇文章MVC3中使用WebMatrix.Data 来操作数据库,受到很多老鸟的指点,我也很赞同不在页面上直接写sql语句,当然我自己也不会这么写,只是在某些特殊的场景可能才会用到。
另外我不得不说Razol是个非常强大的模板引擎,之前我介绍的是推荐一个模板引擎 - templateengine 。同时Razol非常适合在CMS系统中作为模板引擎的,功能强大,代码简介,这都是大家向往的。
1 读取操作
Rozal中使用,读取的表为c_user,返回的类型是IEnumerable<dynamic>,所以可以直接编译而不需要再转换类型了。
Selete方法实现了四个重载方法
2 添加操作
支持Dictionary<string, string>和Hashtable
3 更新操作
同样支持Dictionary<string, string>和Hashtable
4 删除操作
5 统计数据
同时支持参数
6 返回某行某列的值
返回字段名为name,id为1的值
数据库操作都是根据WebMatrix.Data来进行封装的,欢迎大家多提意见。
另外我不得不说Razol是个非常强大的模板引擎,之前我介绍的是推荐一个模板引擎 - templateengine 。同时Razol非常适合在CMS系统中作为模板引擎的,功能强大,代码简介,这都是大家向往的。
1 读取操作
var db = DatabaseHelper.Selete("c_user");
Rozal中使用,读取的表为c_user,返回的类型是IEnumerable<dynamic>,所以可以直接编译而不需要再转换类型了。
<ul> @foreach (var item in db) { <li>@item.ID - @item.Name - @item.Password</li> } </ul>
Selete方法实现了四个重载方法
//读取id为1的数据 DatabaseHelper.Selete("c_user","id=1"); //读取前10条,classid为1的数据 DatabaseHelper.Selete("c_user","10","classid=1"); //读取前10条,classid为1的数据,并且排序方式是inputdate desc DatabaseHelper.Selete("c_user","10","classid=1","inputdate desc"); //引入参数,防止sql注入 DatabaseHelper.Selete("c_user","10","classid=@0 and title='@1'","inputdate desc","1","test");
2 添加操作
支持Dictionary<string, string>和Hashtable
Dictionary<string, string> d = new Dictionary<string, string>(); d.Add("name", "title11"); d.Add("Password", "xxxx"); DatabaseHelper.Insert("c_user", d);
Hashtable ht = new Hashtable(); ht.Add("name", "title1xxxx"); ht.Add("Password", "yyyyy"); DatabaseHelper.Insert("c_user", ht);
3 更新操作
同样支持Dictionary<string, string>和Hashtable
Dictionary<string, string> d = new Dictionary<string, string>(); d.Add("name", "title11"); d.Add("Password", "xxxx"); DatabaseHelper.Update("c_user", d, "id=@0","6")
Hashtable ht = new Hashtable(); ht.Add("name", "title1xxxx"); ht.Add("Password", "yyyyy"); DatabaseHelper.Update("c_user", ht, "id=@0","6")
4 删除操作
DatabaseHelper.Delete("c_user", "id=@0", "3")
DatabaseHelper.Delete("c_user")
5 统计数据
var count = DatabaseHelper.Count("c_user");
当前有 @count 条数据
同时支持参数
DatabaseHelper.Count("c_user","classid=@0","1")
6 返回某行某列的值
返回字段名为name,id为1的值
var value = DatabaseHelper.Value("c_user", "name", "id=1");
数据库操作都是根据WebMatrix.Data来进行封装的,欢迎大家多提意见。
相关文章推荐
- 【原创】封装数据库操作以及在Razol引擎中使用
- (原创)OrnLite数据库缓存的介绍以及使用、一对多三级关联表及其CRUD怎删查改等操作demo
- PHP中将对数据库的操作,封装成一个工具类以及学会使用面向对象的方式进行编程
- 在PHP中使用MySQL Mysqli操作数据库 ,以及类操作方法
- 使用XML封装数据库操作语句的实现
- 简单的三层框架以及使用dbutils进行数据库操作(入门)
- NUnit单元测试整理高级篇之测试数据库操作以及VS插件TestDriven的使用
- [原创]修正SubSonic v2.2.1的一处BUG,以及如何使用SubSonic进行多表查询、子查询以及数据库分页
- php使用adodb类库操作数据库-类的封装
- Android数据库LitePal框架学习笔记(1)---数据库的adb操作以及LitePal使用入门
- 使用ThreadLocal、Apache的dbutils的QueryRunner和dbcp2数据库连接池的BasicDataSource封装操作数据库工具
- 使用SystemProperties获取系统属性以及数据库读写操作
- JDBC的使用五大步骤以及查询操作-数据库编程(二)
- 对于数据库操作可能会遇到的问题(空值问题以及出现的参数不能被重复使用问题)
- JDBC的使用五大步骤以及查询操作-数据库编程(二)
- 【江湖救急】在Linux下Qt上使用libzdb封装的数据库连接池,操作数据库时间错误
- IOS-20-数据库操作之(SQLite第三方封装库FMDB)的基础入门使用及demo源码
- SSH框架数据库操作中session的获取以及本地sql的使用
- MFC中使用ADO操作各类数据库的封装类,包括MySql、Access、Oracle、MSSql
- IOS使用FMDB封装的数据库增删改查操作