zoukankan      html  css  js  c++  java
  • XPO学习(5)一个实现数据编辑的ASP.NET应用程序

    任务:创建一个简单的能够实现查看和编辑客户详细信息的ASP.NET应用程序。

    解决方案:

    定义一个 持久化对象类

    建立数据库连接

    通过XpoDataSource 控件 查询数据。

    1.定义一个持久化对象类:

    这里我是新建的一个普通的类、然后让它继承自XPOject.

        public class Customer:XPObject
    {
    public string FirstName;
    public string LastName;
    public string Company;

    public Customer(Session session) : base(session) { }
    }

    2.建立数据库连接

    一般都是在应用程序启动的时候与数据库建立连接。所以代码要写在global.asax文件中的Application_start事件中。

    要使得XPO与数据库建立连接,必须先创建一个IDataLayer 的对象。代码如下:

            protected void Application_Start(object sender, EventArgs e)
    {
    //指定数据库连接字符串
    string conn = DevExpress.Xpo.DB.AccessConnectionProvider.GetConnectionString(
    Server.MapPath("~\\App_Data\\Customer.mdb"));
    DevExpress.Xpo.Metadata.XPDictionary dict = new DevExpress.Xpo.Metadata.ReflectionDictionary();
    dict.GetDataStoreSchema(typeof(Customer).Assembly);
    DevExpress.Xpo.XpoDefault.Session = null;
    //创建IDataStore对象
    DevExpress.Xpo.DB.IDataStore store =
    DevExpress.Xpo.XpoDefault.GetConnectionProvider(conn, DevExpress.Xpo.DB.AutoCreateOption.DatabaseAndSchema);
    //创建DataLayer并赋给XpoDefault的DataLayer属性
    DevExpress.Xpo.XpoDefault.DataLayer = new DevExpress.Xpo.ThreadSafeDataLayer(dict, store);


    }

    2.利用XpoDataSource控件检索数据

    向窗体中拖拽一个XPODataSource和一个ASPxGridView; XPODataSource类似于WinForm中的XPCollection用于存放数据和连接数据库,XPODataSource类似于WinForm中的GridView用于显示数据。

    把XPOColleciton绑定到ASPxGridView的Datasource属性上。

    然后在窗体的Init事件中,把Session绑定到XPODataSource上。 并在FormLoad时向数据库中添加一些演示数据

        public partial class _Default : System.Web.UI.Page
    {
    Session session1;
    protected void Page_Load(object sender, EventArgs e)
    {
    session1 = new Session();

    if (session1.FindObject<Customer>(DevExpress.Data.Filtering.CriteriaOperator.Parse("1=1"))==null)
    {
    Customer cstm = new Customer(session1);
    cstm.FirstName = "john";
    cstm.LastName = "Doe";
    cstm.Company = "doe Enterpries";
    cstm.Save();

    cstm = new Customer(session1);
    cstm.FirstName = "Sam";
    cstm.LastName = "hill";
    cstm.Company = "hill corporation";
    cstm.Save();

    }
    XpoDataSource1.Session = session1;


    }
    protected void Page_Init(object sender, EventArgs e)
    {
    session1 = new Session();
    // ...
    XpoDataSource1.Session = session1;
    }


    }

    ok,运行。

    结束语:

    这一节我们创建了一个简单的ASP.NET应用程序,实现了客户信息的查询和录入功能。

    知道了如何ACCESS数据库的位置,了解了XpoDataSource和ASPXGridview的用法。

    具体的数据库连接,和XpoDataSource的使用我们会在后面单独讲述。



  • 相关阅读:
    拾遗:systemctl --user
    拾遗:~/.zshrc 配置
    拾遗:YouCompleteMe 前传——编译安装 llvm + clang
    洛谷P1546 最短网络 Agri-Net(最小生成树,Kruskal)
    洛谷P1462 通往奥格瑞玛的道路(二分+spfa,二分+Dijkstra)
    HDU6669 Game(思维,贪心)
    HDU6672 Seq(找规律)
    HDU6668 Polynomial(模拟)
    洛谷P1378 油滴扩展(搜索)
    机器学习数学基础(四)
  • 原文地址:https://www.cnblogs.com/OOAbooke/p/2216790.html
Copyright © 2011-2022 走看看