BDE业务数据引擎快速上手.doc_第1页
BDE业务数据引擎快速上手.doc_第2页
BDE业务数据引擎快速上手.doc_第3页
BDE业务数据引擎快速上手.doc_第4页
BDE业务数据引擎快速上手.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BDE(business data engine,业务数据引擎)快速上手BDE是一个类似于ORM的产品。BDE通过数据模型文件屏蔽多种数据库,程序使用BDE的数据对象就可以轻松实现数据对像的存取。本文档简单说明在项目中如何使用BDE。包括配置,定义数据模型文件,DAO对象,最基本数据操作。一、 准备工作1 软件环境 DotNet 2.0环境2 准备好BDE组件:Dist.Platform.Common.dll :是通用组件Dist.platform.Data.dll :是BDE组件IronMath.:IronPython的Math组件IronPython.dll :是IronPython组件Log4net.dll :是日志组件3 准备好你的数据库环境:现在BDE支持的下列驱动组件可以访问的数据库:System.Data.OleDbSystem.Data.OracleClientSystem.Data.SqlClient二、 代码使用现在以一个Web页面中如何读取、数据为示例。1 指定要访问数据库的信息,包括数据库连接字符串等在Web程序的根目录下添加名为dap.config的xml配置文件,配置内容如下123456789101112 oracle Data Source=TESTDB;user ID=oradb;Password=oradb oradb 说明:行5:指名一个资料库的名称。以这个名称为命名的目录下存放着数据模型文件。行6:指名为Oracle数据库。支持access oracle sqlserver三种行7:指名为连接字符串。行8:模式名。行5到行9可以重复,可以指定多个资料库。2 数据库中的表与数据模型文件的映射在具体项目中,可以依靠工具把已经建好的数据表导出成数据模型文件,也可以把已经定义好的数据模型文件在具体的数据库中建表。我们推荐后者。作为示例,我们定义数据模型文件project.xml,然后可以通过工具,或是编写代码在具体的数据库建表。project.xml1234 行2:指定表的主健类型。现支持三种类型:assigned,native,uuid行3:指定数据字段的名称,类型,长度,精度。代码实现数据模型文件到具体数据库建表12using Dist.Platform.Data;Repository repository = (new RepositoryFactory().GetRepository(“bde_sample”);repository.CreateSchemaIfNotExist(project);3 代码我们要编写一个Dao对像。这个对像是对应数据模型的。用这个对象可以很方便的用BDE来存取数据。DAO对像using System;using System.Collections.Generic;using System.Diagnostics;using System.Text;using Dist.Platform.Data;using Dist.Platform.Data.Mapping;using Dist.Platform.Data.Filter;namespace DAO public partial class Dao_project #region 通用 static string repoName = bde_sample; static string defineName = project; static private ObjectDefine objectDefine; private DataObject dataObject; public Dao_project() dataObject = BDE_ObjectDefine.NewObject(); public Dao_project(DataObject dataObject) Debug.Assert(dataObject != null); if (dataObject.Define.Name != BDE_ObjectDefine.Name) throw new BDEException(不一致的类型); this.dataObject = dataObject; public DataObject BDE_DataObject get return dataObject; set dataObject = value; static public ObjectDefine BDE_ObjectDefine get if (objectDefine = null) objectDefine = (new RepositoryFactory().GetRepository(repoName).DefineMapperdefineName; return objectDefine; static public Dao_project FindObject(int id) using (Session s = SessionHelper.CurrentSession(repoName) return new Dao_project(s.Find(BDE_ObjectDefine, id); static public IList ListObject(Condition condition) IList result = new List(); using (Session s = SessionHelper.CurrentSession(repoName) foreach (DataObject data in s.List(BDE_ObjectDefine, condition) result.Add(new Dao_project(data); return result; #endregion #region 数据属性 public int id get return (int)dataObjectid; set dataObjectid = value; public string projectname get return (string)dataObjectprojectname; set dataObjectprojectname = value; #endregion 读取数据DAO.Dao_project prj = DAO.Dao_project.FindObject(id);if (prj != null) prjName = jectname;this.Label1.Text = 项目为: + prjName + ;新增数据using (Session session = SessionHelper.CurrentSession(repoName) DAO.Dao_project project = new DAO.Dao_project(); jectname = 项目 + System.DateTime.Now.ToString(); session.Save(project.BDE_DataObject);删除数据DAO.Dao_project prj = DAO.Dao_project.FindObject(id);if (prj != null) using (Session session = SessionHelper.CurrentSession(repoName) session.Delete(prj.BDE_DataObject); 更新数据DAO.Dao_project prj = DAO.Dao_project.FindObject(id);if (prj != null) jectname = this.TextBox3.T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论