首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > 简单数据操作控件
【标  题】:简单数据操作控件
【关键字】:
【来  源】:http://www.cnblogs.com/stone0809/archive/2007/03/07/666512.html

简单数据操作控件

此控件通过读取xml文件实现数据库操作,包装了缓存、sqlserver2005分页和总数(可以扩展),这样sql语句都会文件化统一管理
数据库操作是应用GotDotNet.ApplicationBlocks.Data,把adohelper改成单例模式以提高速度
web.config配置节点:
  <configSections>
    <section name="mappingConfig" type="Data.MappingSection, Data"/>
  </configSections>
  <mappingConfig
    defaultprovider="sqlserver"
    defaultconnectionstring="$DataConnectionString"
    defaultpagesize="12">
//defaultprovider默认数据库 defaultconnectionstring 默认数据库连接字符串 defaultpagesize默认页数
    <files>
      <add file="/config/sql.xml" provider="sqlserver" />
//读取的xml文件路径 支持d:\......, /......., \......,  provider 数据库
    </files>
  </mappingConfig> 
  <connectionStrings>
    <add name="DataConnectionString" connectionString="server=192.168.2.81;database=test;uid=sa;pwd=1qa;"/>
  </connectionStrings>

xml文件:
<?xml version="1.0" encoding="utf-8" ?>
<ArrayOfMappingDescription>
  <MappingDescription id="user_select" allowpaging="true" pagesize="12">
//id是整站唯一代号,程序调用
//allowpagging 是否需要翻页,程序会自动生成语句,现在只支持sqlserver2005(可以扩展)
//pagesize 每页数量
    <cache>
      <operatetype>addall</operatetype>
//add, addcount, addall, remove, none : add 是加此语句缓存 addcount 加总数缓存 addall 语句和总数都加缓存
//remove 是要清楚缓存 none 没有缓存操作
      <key>user_{0}_{1}</key>
//语句的缓存key 生成key是调用string.format(key, paparameters) 
      <seconds>1000</seconds>
//语句缓存时间  单位秒
      <countkey>user_{0}</countkey>
//总数缓存key
      <countseconds>1000</countseconds>
//总数缓存时间
      <dependsonkey>user_{0}</dependsonkey>
//语句所依赖的缓存key
    </cache>
    <command>
      <connectionstring>$DataConnectionString</connectionstring>
 //数据库连接串 如果包换$会上web.config上替换
      <type>text</type>
//操作类型
      <text>select * from userinfo where domain=@domain<text>
//语句或存储过程
      <parameters>
        <parameter name="@domain" type="varchar" size="10" />
      </parameters>
//参数
    </command>
  </MappingDescription>
</ArrayOfMappingDescription>

调用:
        Broker b = Broker.Instance; 
//建立调用对象,单例
        Mapping mapping = MappingManager.GetMapping("user_select");
//获得mapping对象,(从内存中取)
         int pageIndex = 2;
         object[] parameters = new object[1]{3};
         IList<UserInfo> users = b.FindArrayPage<UserInfo>(mapping , pageIndex, parameters);
//获得分页列表


源代码: code

ActiveReports工作总结11——麻烦的线线框框:【上一篇】
图文并茂——使用xfire编写webservice,并通过C#调用:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • 手把手教你TSYS建站
  • MYSQL日志文件维护
  • 用Visual C#来清空回收站(1)
  • 从管理员身份获得 SYSTEM 权限的四种方法
  • 家庭装修慎用哪些材料
  • 代收付系统小结
  • VLAN的特点
  • *从SATA硬盘安装OpenSuSE-Linux-10.1 DVD
  • 通过管道与子进程通信
  • Visual C#中托管Socket的实现方法(二) (1)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.