Grove for VS2005 初探

1。下载并安装Grove

http://grove.91link.com  上下载GroveKit 2.1。这个版本是for VS2005、fromwork2.0的。

将下载的压缩包GroveKit2.1.zip解压后,得到GroveKitSetup.msi。按提示进行安装。安装主要是进行解压。在安装路径中运行Install.bat进行对VS2005的注册。注册后,运行VS2005,我们可以在工具栏的“工具”中发现新增了“Grove Tool Kit”。在安装路径中有一个Grove.dll,我们在项目中需要添加此引用。

2。新建实体类

新建数据源

 

在Grove Tool Kit中点击“Add a datasource”,将新建一个数据源。修改该数据源的属性Name及ConnectionStrin。在弹出的对话框中设置好数据源后,将会自动生成连接字符串。

创建实体类

在“Grove Tool Kit”中将会出现该数据源的表及视图。双击Customers表,可以得到该表的实体类。点击“Save in Project”将会把该实体类加入到项目中。

代码:

namespace DataModel
{
 using System;
 using Grove.ORM;
 [DataTable("Customers")]
 public class Customers
 {
  String _CustomerID;
  String _CompanyName;
  String _ContactName;
  String _ContactTitle;
  String _Address;
  String _City;
  String _Region;
  String _PostalCode;
  String _Country;
  String _Phone;
  String _Fax;

  [KeyField("CustomerID")]
  public String CustomerID
  {
   get{return this._CustomerID;}
   set{this._CustomerID=value;}
  }
  [DataField("CompanyName")]
  public String CompanyName
  {
   get{return this._CompanyName;}
   set{this._CompanyName=value;}
  }
  [DataField("ContactName")]
  public String ContactName
  {
   get{return this._ContactName;}
   set{this._ContactName=value;}
  }
  [DataField("ContactTitle")]
  public String ContactTitle
  {
   get{return this._ContactTitle;}
   set{this._ContactTitle=value;}
  }
  [DataField("Address")]
  public String Address
  {
   get{return this._Address;}
   set{this._Address=value;}
  }
  [DataField("City")]
  public String City
  {
   get{return this._City;}
   set{this._City=value;}
  }
  [DataField("Region")]
  public String Region
  {
   get{return this._Region;}
   set{this._Region=value;}
  }
  [DataField("PostalCode")]
  public String PostalCode
  {
   get{return this._PostalCode;}
   set{this._PostalCode=value;}
  }
  [DataField("Country")]
  public String Country
  {
   get{return this._Country;}
   set{this._Country=value;}
  }
  [DataField("Phone")]
  public String Phone
  {
   get{return this._Phone;}
   set{this._Phone=value;}
  }
  [DataField("Fax")]
  public String Fax
  {
   get{return this._Fax;}
   set{this._Fax=value;}
  }
 }
}

2。数据访问层

using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;

using Grove;
using Grove.ORM;

using DataModel;

namespace DALFactory {
    public class BaseDAL {
        private static string _connstring = ConfigurationManager.AppSettings["DBConnString"];

        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="obj"></param>
        public static void Insert(object obj) {
            ObjectOperator oo = new ObjectOperator(_connstring);

            oo.BeginTranscation();

            try {

                oo.Insert(obj);

                oo.Commit();

            }

            catch (System.Exception e) {

                oo.Rollback();

                throw e;

            }

            oo.Dispose();

        }

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="obj"></param>
        public static void Delete(object obj) {

            ObjectOperator oo = new ObjectOperator(_connstring);

            oo.BeginTranscation();

            try {

                oo.Remove(obj);

                oo.Commit();

            }

            catch (System.Exception e) {

                oo.Rollback();

                throw e;

            }

            oo.Dispose();

        }

        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="obj"></param>
        public static void Update(object obj) {

            ObjectOperator oo = new ObjectOperator(_connstring);

            oo.BeginTranscation();

            try {

                oo.Update(obj);

                oo.Commit();

            }

            catch (System.Exception e) {

                oo.Rollback();

                throw e;

            }

            oo.Dispose();

        }

        /// <summary>
        /// 选择所有
        /// </summary>
        /// <param name="objType"></param>
        /// <returns></returns>
        public static EntityData SelectAll(Type objType) {

            return SelectByFilter(objType, string.Empty);

        }

        /// <summary>
        /// 依筛选器进行选择
        /// </summary>
        /// <param name="objType"></param>
        /// <param name="filter">筛选器</param>
        /// <returns></returns>
        public static EntityData SelectByFilter(Type objType, string filter) {

            ObjectOperator oo = new ObjectOperator(_connstring);

            EntityData data = oo.GetObjectSource(new ObjectQuery(objType,filter));

            oo.Dispose();

            return data;

        }
    }
}

using System;
using System.Collections.Generic;
using System.Text;

using Grove;
using DataModel;

namespace DALFactory {
    public class CustomersDAL{

        public static void Insert(Customers cust) {
            BaseDAL.Insert(cust);
        }
        public static void Delete(Customers cust) {
            BaseDAL.Delete(cust);
        }
        public static void Update(Customers cust) {
            BaseDAL.Update(cust);
        }
        public static EntityData SelectAll() {
            return BaseDAL.SelectAll(typeof(Customers));
        }
        public static EntityData SelectByFilter(string filter) {
            return BaseDAL.SelectByFilter(typeof(Customers), filter);
        }

    }
}

3。表现层

在“web.config”中加入连接字符串

 <appSettings>
  <add key="DBConnString" value="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source=sophia"/>
 </appSettings>

在“Default”页面中加入一个dataview。

            GridView1.DataSource = CustomersDAL.SelectAll().CurrentTable;
            GridView1.DataBind();
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
08-10
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值