XPO学习(5)----一个实现数据编辑的ASP.NET应用程序
2011-10-19 10:47 OOA 阅读(720) 评论(0) 编辑 收藏 举报任务:创建一个简单的能够实现查看和编辑客户详细信息的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的使用我们会在后面单独讲述。