|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在CSDN里搜索一下“初学”两字,竟有三百余篇帖子(也许更多)。有些帖子说,有了asp的基础,只要15天就能很熟悉了,我甚感自己的愚钝。更多帖子是向大家请教初学者适合看书。两个多月的时间(当然平常杂事比较多。数据 (一).申明
在编程过程当中有无碰到如许的成绩:偶然由于某种缘故原由,数据库表必要改一字段称号。好比:将:Name改成:PersonName.
接上去程序员就把一切触及到的代码翻开,找到相似:ds.Table[0].Row[n]["Name"]的语句,修正成:ds.Table[0].Row[n]["Name"].
实在完整能够不必这么做,只加一个带布局的DataSet就OK了。修正只修正本类代码文件中的一个属性就OK了,并且除本类代码文件以外的使用程式代码基本不必修正.
(二).代码:
usingSystem;
usingSystem.Data;
usingSystem.Runtime.Serialization;
namespaceSchemeDataSet
{
///<summary>
///包括客户信息的自界说的可序列化的数据集(DataSet)
///</summary>
[System.ComponentModel.DesignerCategory("Code")]
[SerializableAttribute]
publicclassCustomers:DataSet//承继DataSet,如许能够挪用DataSet中的一切办法
{
#region以下为常量的声明
///<summary>常量界说客户材料表Customer的表称号</summary>
publicconststringCRMPSCUSTOMERS_TABLE="Customer";
///<summary>该常量界说客户编号的栏位名</summary>
publicconststringCUSNO_FIELD="CUSNO";
///<summary>该常量界说客户称号的栏位名</summary>
publicconststringCUSTOMERNAME_FIELD="CustomerName";
///<summary>该常量界说客户地点的栏位名</summary>
publicconststringADDRESS_FIELD="Address";
#endregion以下变量、常量、及工具的声明
#region以下为办法声明
publicCustomers()
{
BuildDataTables();
}
///<summary>
///撑持序列化的机关函数
///<paramname="info">工具的序列化信息</param>
///<paramname="context">关于被呼唤办法的高低文</param>
///</summary>
privateCustomers(SerializationInfoinfo,StreamingContextcontext):base(info,context)
{}
///<summary>
///创立带布局的表:Customer
///</summary>
privatevoidBuildDataTables()
{
//
//创立CRMPSCustomers的数据表
//
DataTabletable=newDataTable(CRMPSCUSTOMERS_TABLE);
DataColumnCollectioncolumns=table.Columns;
//界说布局
columns.Add(CUSNO_FIELD,typeof(System.String));
columns.Add(CUSTOMERNAME_FIELD,typeof(System.String));
columns.Add(ADDRESS_FIELD,typeof(System.String));
this.Tables.Add(table);
Contactcontact=newContact();
this.Merge(contact);//兼并
}
#endregion以下为办法声明
}
}
(三).利用
1.当界说了如许一个类后,在程式中应当如许利用:
ds.Table[Customers.CRMPSCUSTOMERS_TABLE].Row[n][Customers.CUSTOMERNAME_FIELD];
如许就把一切的义务交给本类代码文件了。当修正数据库时不必修正相似这些语句。只修正一下布局类相干属性的值便可.
2.界说此带布局的数据集,另有一种情形用到,就是在有些界面,UI层与数据库交互是单向的,即往数据库增加数据之前没有读取架构,则DataSet也就没有布局(没有布局不克不及存储数据),这时候这个类就起感化了.感谢!
C#中有两处地方用到new关键字,第一处也是最常见的一处是用在调用构造函数的时候,这种情况也是大家见的最多的一种。另一处是用在派生类中,作用有隐藏成员,切断继承关系等,相信第二处的用法大家明显要比第一处生疏。 |
|