ArticleColumn:
//BreakerLib V1.0;
using System;
namespace BreakerLib
...{
/**//// <summary>
/// Address 的摘要说明。
/// </summary>
public class ArticleColumn:ArticleColumnMD
...{
public ArticleColumn()
...{
//
// TODO: 在此处添加构造函数逻辑
//
}
}
}

ArticleColumnMD
//BreakerLib V1.0;
using System;
using System.Data;
using System.Data.OleDb;
namespace BreakerLib
...{
/**//// <summary>
/// ArticleColumn Model Object,
/// </summary>
public class ArticleColumnMD :BaseHelper
...{
//private fields
private Int32 m_nClass;
private DateTime m_dCreatedTime;
private String m_sDescription;
private Int32 m_nID;
private Boolean m_bIsActive;
private String m_sName;
private Int32 m_nOrder;
private String m_sUUID;
//public properties
//summary
//
//summary
public Int32 Class
...{
get...{return m_nClass;}
set...{m_nClass = value;}
}
//summary
//
//summary
public DateTime CreatedTime
...{
get...{return m_dCreatedTime;}
set...{m_dCreatedTime = value;}
}
//summary
//
//summary
public String Description
...{
get...{return m_sDescription;}
set...{m_sDescription = value;}
}
//summary
//
//summary
public Int32 ID
...{
get...{return m_nID;}
set...{m_nID = value;}
}
//summary
//
//summary
public Boolean IsActive
...{
get...{return m_bIsActive;}
set...{m_bIsActive = value;}
}
//summary
//
//summary
public String Name
...{
get...{return m_sName;}
set...{m_sName = value;}
}
//summary
//
//summary
public Int32 Order
...{
get...{return m_nOrder;}
set...{m_nOrder = value;}
}
//summary
//
//summary
public String UUID
...{
get...{return m_sUUID;}
set...{m_sUUID = value;}
}
//Save Data
//将属性值保存到 OleDbParameter 数组
//除去只读字段ID
OleDbParameter#region OleDbParameter
public bool _SaveData(out OleDbParameter[] oledbParams)
...{
base.clearErrorMessage();
oledbParams = new OleDbParameter[7];
try
...{
oledbParams[0] = new OleDbParameter("@Class", OleDbType.Integer);
oledbParams[0].Value = this.m_nClass;
oledbParams[1] = new OleDbParameter("@CreatedTime", OleDbType.Date);
oledbParams[1].Value = this.m_dCreatedTime;
oledbParams[2] = new OleDbParameter("@Description", OleDbType.VarWChar, 50);
oledbParams[2].Value = this.m_sDescription;
oledbParams[3] = new OleDbParameter("@IsActive", OleDbType.Boolean, 2);
oledbParams[3].Value = this.m_bIsActive;
oledbParams[4] = new OleDbParameter("@Name", OleDbType.VarWChar, 50);
oledbParams[4].Value = this.m_sName;
oledbParams[5] = new OleDbParameter("@Order", OleDbType.Integer);
oledbParams[5].Value = this.m_nOrder;
oledbParams[6] = new OleDbParameter("@UUID", OleDbType.VarWChar, 50);
oledbParams[6].Value = this.m_sUUID;
}
catch (Exception e)
...{
base.addErrorMessage("ArticleColumnMD._SaveOleDbParameters():" + e);
return false;
}
return true;
}
#endregion
从 OleDbParameter Array 中获取数据填充到 Entity#region 从 OleDbParameter Array 中获取数据填充到 Entity
/**//// <summary>
/// 从 OleDbParameter Array 中获取数据填充到 Entity
/// </summary>
/// <param name="oledbparamters">用于读入数据</param>
/// <returns>调用是否成功</returns>
public bool _LoadData(OleDbParameter[] oledbparamters)
...{
base.clearErrorMessage();
try
...{
this.m_nClass = Convert.ToInt32(oledbparamters[0]);
this.m_dCreatedTime = Convert.ToDateTime(oledbparamters[1]);
this.m_sDescription = Convert.ToString(oledbparamters[2]);
this.m_nID = Convert.ToInt32(oledbparamters[3]);
this.m_bIsActive = Convert.ToBoolean(oledbparamters[4]);
this.m_sName = Convert.ToString(oledbparamters[5]);
this.m_nOrder = Convert.ToInt32(oledbparamters[6]);
this.m_sUUID = Convert.ToString(oledbparamters[7]);
}
catch (Exception e)
...{
base.addErrorMessage("ArticleColumnMD._LoadData():" + e);
return false;
}
return true;
}
#endregion

从 IDataRecord 中获取数据填充到 Entity#region 从 IDataRecord 中获取数据填充到 Entity
/**//// <summary>
/// 从 IDataRecord dr 中获取数据填充到 Entity
/// </summary>
/// <param name="dr">用于读出数据</param>
/// <returns>调用是否成功</returns>
public ArticleColumn _LoadData (IDataRecord dr)
...{
base.clearErrorMessage();
ArticleColumn articlecolumn =new ArticleColumn();
try
...{
if (dr["Class"] != DBNull.Value)
...{
articlecolumn.m_nClass = Convert.ToInt32(dr["Class"]);
}
if (dr["CreatedTime"] != DBNull.Value)
...{
articlecolumn.m_dCreatedTime = Convert.ToDateTime(dr["CreatedTime"]);
}
if (dr["Description"] != DBNull.Value)
...{
articlecolumn.m_sDescription = Convert.ToString(dr["Description"]);
}
if (dr["ID"] != DBNull.Value)
...{
articlecolumn.m_nID = Convert.ToInt32(dr["ID"]);
}
if (dr["IsActive"] != DBNull.Value)
...{
articlecolumn.m_bIsActive = Convert.ToBoolean(dr["IsActive"]);
}
if (dr["Name"] != DBNull.Value)
...{
articlecolumn.m_sName = Convert.ToString(dr["Name"]);
}
if (dr["Order"] != DBNull.Value)
...{
articlecolumn.m_nOrder = Convert.ToInt32(dr["Order"]);
}
if (dr["UUID"] != DBNull.Value)
...{
articlecolumn.m_sUUID = Convert.ToString(dr["UUID"]);
}
return articlecolumn;
}
catch (Exception e)
...{
base.addErrorMessage("ArticleColumnMD._LoadData(dr):" + e);
return null;
}
}
#endregion

从 IDataRecord 中获取数据填充到 Entity Collection#region 从 IDataRecord 中获取数据填充到 Entity Collection
/**//// <summary>
/// 从 IDataRecord dr 中获取数据填充到 EntityCollection
/// </summary>
/// <param name="dr">用于读出数据</param>
/// <returns>调用是否成功</returns>
public bool _LoadData (OleDbDataReader dr,out ArticleColumnCollection EntityCollection)
...{
EntityCollection = new ArticleColumnCollection();
try
...{
while (dr.Read())
...{
EntityCollection.Add(_LoadData(dr));
}
return true;
}
finally
...{
dr.Close();
}
}
#endregion
}
}
ArticleColumnCollection
namespace BreakerLib
...{
using System.Collections ;
using System;
public class ArticleColumnCollection:CollectionBase
...{
/**//// <summary>
/// Gets or sets the value associated with the specified key
/// </summary>
public ArticleColumn this[ int index ] 
...{
get ...{ return( (ArticleColumn) List[index] );}
set ...{ List[index] = value;}
}

/**//// <summary>
/// Adds an item to the ArticleColumn Collection
/// </summary>
public int Add( ArticleColumn value ) 
...{
return( List.Add( value ) );
}

/**//// <summary>
/// Determines the index of a specific item in the ArticleColumn Collection
/// </summary>
public int IndexOf( ArticleColumn value ) 
...{
return( List.IndexOf( value ) );
}

/**//// <summary>
/// Inserts an item to the ArticleColumn Collection at the specified position
/// </summary>
public void Insert( int index, ArticleColumn value ) 
...{
List.Insert( index, value );
}

/**//// <summary>
/// Removes the first occurrence of ArticleColumn in the ArticleColumn Collection
/// </summary>
public void Remove( ArticleColumn value ) 
...{
List.Remove( value );
}

/**//// <summary>
/// Determines whether the ArticleColumn Collection contains a specific ArticleColumn
/// </summary>
public bool Contains( ArticleColumn value ) 
...{
// If value is not of type ArticleColumn, this will return false.
return( List.Contains( value ) );
}

/**//// <summary>
/// Valiadtes before inserting a new ArticleColumn into the ArticleColumn Collection
/// </summary>
protected override void OnInsert( int index, Object value ) 
...{
if ( value.GetType() != Type.GetType("BreakerLib.ArticleColumn,BreakerLib") )
throw new ArgumentException( "value must be of type ArticleColumn.", "value" );
}

/**//// <summary>
/// Valiadtes before removing a new ArticleColumn into the ArticleColumn Collection
/// </summary>
protected override void OnRemove( int index, Object value ) 
...{
if ( value.GetType() != Type.GetType("BreakerLib.ArticleColumn,BreakerLib") )
throw new ArgumentException( "value must be of type ArticleColumn.", "value" );
}

/**//// <summary>
/// Valiadtes before setting a ArticleColumn in ArticleColumn Collection
/// </summary>
protected override void OnSet( int index, Object oldValue, Object newValue ) 
...{
if ( newValue.GetType() != Type.GetType("BreakerLib.ArticleColumn,BreakerLib") )
throw new ArgumentException( "newValue must be of type ArticleColumn.", "newValue" );
}

/**//// <summary>
/// Performs additional custom processes when validating a value ArticleColumn
/// </summary>
protected override void OnValidate( Object value ) 
...{
if ( value.GetType() != Type.GetType("BreakerLib.ArticleColumn,BreakerLib") )
throw new ArgumentException( "value must be of type ArticleColumn." );
}
}
}

ArticleColumnDAO
//BreakerLib V1.0;
using System;
using System.Data;
using System.Data.OleDb;
namespace BreakerLib
...{

/**//// <summary>
/// ArticleColumnDAO。
/// </summary>
public class ArticleColumnDAO
...{
//createEntity#region //createEntity
/**//// <summary>
/// 创建 ArticleColumn
/// </summary>
/// <param name="articlecolumn">创建新的实体</param>
/// <returns>成功与否</returns>
public bool CreateArticleColumn( ArticleColumn articlecolumn)
...{
string sColumn ="[Class],[CreatedTime],[Description],[IsActive],[Name],[Order],[UUID]";
string sColumnPar = "?,?,?,?,?,?,?";
string strSQL =string.Format("Insert Into ArticleColumn({0}) Values ({1})",sColumn,sColumnPar);
DAOHelper data = new DAOHelper();
OleDbParameter[] oledbParams;
articlecolumn._SaveData(out oledbParams);
int i = data.RunSQL(strSQL, oledbParams);
if (i == 0)
return true;

else...{
return false;}
}
#endregion

//Update Entity#region//Update Entity
/**//// <summary>
/// 更新实体
/// </summary>
/// <param name="articlecolumn">要更新的实体</param>
/// <param name="sCondition">符合更新的条件,如:ID=1</param>
/// <returns>成功与否</returns>
public bool UpdateArticleColumn(ArticleColumn articlecolumn, string sCondition)
...{
if (IsExistsArticleColumnRecord(sCondition))
...{
string sUpdateColumns= "[Class]= ? ,[CreatedTime]= ? ,[Description]= ? ,[IsActive]= ? ,[Name]= ? ,[Order]= ? ,[UUID]= ? ";
string strSQL = string.Format("Update ArticleColumn Set {0} Where {1}",sUpdateColumns,sCondition);
DAOHelper data = new DAOHelper();
OleDbParameter[] oledbParams;
articlecolumn._SaveData(out oledbParams);
int i = data.RunSQL(strSQL, oledbParams);
if (i == 0)
return true;
else
...{
return false;
}
}
else
...{
return false;
}
}
#endregion

删除实体#region 删除实体
/**//// <summary>
/// 删除实体
/// </summary>
/// <param name="sCondition">符合删除的条件,如:ID=1</param>
/// <returns>成功与否</returns>
public bool DeleteArticleColumn( string sCondition)
...{
string strSQL = string.Format("Delete ArticleColumn Where {0}", sCondition);
DAOHelper data = new DAOHelper();
int i = data.RunSQL(strSQL);
if (i == 0)
return true;
else
...{
return false;
}
}
#endregion

对上面已定义的DAO根据具体的需要再进行一次封装#region 对上面已定义的DAO根据具体的需要再进行一次封装
/**//// <summary>
/// 更新实体
/// </summary>
/// <param name="articlecolumn">要更新的实体</param>
/// <returns></returns>
public bool UpdataArticleColumn(ArticleColumn articlecolumn)
...{
string sCondition =string.Format("ID = {0}",articlecolumn.ID);
return UpdateArticleColumn(articlecolumn, sCondition);
}
/**//// <summary>
/// 根据ID,查询实体
/// </summary>
/// <param name="sID">ID</param>
/// <param name="articlecolumn">输出实体</param>
/// <returns></returns>
public bool SelectArticleColumnByPK(string sID,out ArticleColumn articlecolumn)
...{
string sCondition =string.Format("ID = {0}",sID);
return SelectArticleColumnWhere(sCondition, out articlecolumn);
}
/**//// <summary>
/// 删除实体
/// </summary>
/// <param name="nID">ID</param>
/// <returns></returns>
public bool DeleteArticleColumn (int nID)
...{
string sCondition = string.Format("ID = {0}",nID);
return DeleteArticleColumn(sCondition);
}
#endregion
选择全部的实体#region 选择全部的实体
/**//// <summary>
/// 选择实体的全部的集合
/// </summary>
/// <param name="articlecolumncollection">输入出的EntityCollection</param>
/// <returns>成功与否</returns>
public bool SelectArticleColumnWhere(string sOrderString,out ArticleColumnCollection articlecolumncollection)
...{
articlecolumncollection = null;
ArticleColumn articlecolumn = new ArticleColumn();
string strSQL = "";
if (sOrderString ==""||sOrderString == null)
...{
strSQL = string.Format("select * From {0} ","[ArticleColumn]");
}
else
...{
strSQL = string.Format("select * From {0} {1} ","[ArticleColumn]",sOrderString);
}
try
...{
DAOHelper data = new DAOHelper();
OleDbDataReader dr = null;
data.RunSQL(strSQL, out dr);
articlecolumn._LoadData(dr, out articlecolumncollection);
return true;
}
catch
...{
return false;
}
}
/**//// <summary>
/// 根据条件选择实体的全部的集合
/// </summary>
/// <param name="articlecolumncollection">输入出的EntityCollection</param>
/// <param name="sCondition">条件</param>
/// <returns>成功与否</returns>
public bool SelectArticleColumnWhere(string sOrderString,string sCondition, out ArticleColumnCollection articlecolumncollection)
...{
articlecolumncollection = null;
ArticleColumn articlecolumn = new ArticleColumn();
string strSQL = "";
if (sOrderString ==""||sOrderString == null)
...{
strSQL = string.Format("select * From {0} Where {1}","[ArticleColumn]",sCondition);
}
else
...{
strSQL = string.Format("select * From {0} Where {1} {2}","[ArticleColumn]",sCondition,sOrderString);
}
try
...{
DAOHelper data = new DAOHelper();
OleDbDataReader dr = null;
data.RunSQL(strSQL, out dr);
articlecolumn._LoadData(dr, out articlecolumncollection);
return true;
}
catch
...{
return false;
}
}

/**//// <summary>
/// 根据条件选择实体的全部的集合,并且进行分页
/// </summary>
/// <param name="sCondition"></param>
/// <param name="nPageSize"></param>
/// <param name="nPageIndex"></param>
/// <param name="articlecolumncollection"></param>
/// <returns></returns>
public bool SelectArticleColumnWhere(String sOrderString,String sCondition, Int32 nPageSize, Int32 nPageIndex, out ArticleColumnCollection articlecolumncollection)
...{
OleDbDataReader dr = null;
string strSQL = null;
if (nPageIndex == 1)
...{
if (sOrderString ==""||sOrderString == null)
...{
strSQL = string.Format("Select Top " + nPageSize + " * From {0} Where {1}","[ArticleColumn]",sCondition);
}
else...{
strSQL = string.Format("Select Top " + nPageSize + " * From {0} Where {1} {2}","[ArticleColumn]",sCondition,sOrderString);
}
}
else if (nPageIndex > 1)
...{
string sStart ="";
if (sOrderString ==""||sOrderString == null)
...{
sStart = string.Format(
"(Select Min([ID]) From (Select Top " + Convert.ToString((nPageIndex - 1)*nPageSize) +
" [ID] From {0} Where {1} ) AS Temp)","[ArticleColumn]", sCondition);
}
else
...{
sStart = string.Format(
"(Select Min([ID]) From (Select Top " + Convert.ToString((nPageIndex - 1)*nPageSize) +
" [ID] From {0} Where {1} {2}) AS Temp)","ArticleColumn", sCondition,sOrderString);
}
strSQL = string.Format("Select Top " + nPageSize + " * From {0} Where ID< {1} {2}","[ArticleColumn]",sStart,sCondition);
}
else
...{
if (sOrderString ==""||sOrderString == null)
...{
strSQL = string.Format("Select Top " + nPageSize + " * From {0} Where {1}","[ArticleColumn]",sCondition);
}
else...{
strSQL = string.Format("Select Top " + nPageSize + " * From {0} Where {1} {2}","[ArticleColumn]",sCondition,sOrderString);
}
}
try
...{
ArticleColumn articlecolumn = new ArticleColumn();
DAOHelper data = new DAOHelper();
data.RunSQL(strSQL, out dr);
articlecolumn._LoadData(dr, out articlecolumncollection);
return true;
}
finally
...{
dr.Close();
}
}
/**//// <summary>
/// 根据条件获取单个的实体记录
/// </summary>
/// <param name="Condition">查询条件,如:ID=1</param>
/// <param name="articlecolumn">输入的实体</param>
/// <returns>成功与否</returns>
public bool SelectArticleColumnWhere(string Condition,out ArticleColumn articlecolumn )
...{
articlecolumn = new ArticleColumn();
string strSQL = string.Format("select * From [ArticleColumn] Where {0}", Condition);
DAOHelper data = new DAOHelper();
OleDbDataReader dr = null;
data.RunSQL(strSQL, out dr);
ArticleColumnCollection EntityCollection;
articlecolumn._LoadData(dr, out EntityCollection);
foreach (ArticleColumn oarticlecolumn in EntityCollection)
...{
articlecolumn = oarticlecolumn;
}
return true;
}
#endregion

判断实体是否存在#region 判断实体是否存在
/**//// <summary>
/// 判断实体是否存在
/// </summary>
/// <param name="Condition">判断条件,如:ID=1</param>
/// <returns>成功与否</returns>
public bool IsExistsArticleColumnRecord(string Condition)
...{
string strSQL = string.Format("select * From [ArticleColumn] Where {0}", Condition);
DAOHelper data = new DAOHelper();
OleDbDataReader dr = null;
data.RunSQL(strSQL, out dr);
if (dr.FieldCount > 0)
...{
return true;
}
else
...{
return false;
}
}
#endregion

/**//// <summary>
/// 计算文章的总数
/// </summary>
/// <param name="Condition"></param>
/// <param name="nCount"></param>
/// <returns></returns>
public bool CountArticleColumnWhere(string Condition ,out int nCount)
...{
nCount = 0;
string strSQL = string.Format("select Count (*) As nRecordCount From [ArticleColumn] Where {0}", Condition);
DAOHelper data = new DAOHelper();
OleDbDataReader dr = null;
data.RunSQL(strSQL, out dr);
if (dr!=null)
...{
nCount = Convert.ToInt32(dr["nRecordCount"]);
return true;
}
else
...{
return false;
}
}
}
} 
ArticleColumnBL
//Version:BreakerLib V1.0
using System;
namespace BreakerLib
...{
/**//// <summary>
/// ArticleColumn 的摘要说明。
/// </summary>
public class ArticleColumnBL:ArticleColumnDAO
...{
public ArticleColumnBL()
...{
//
// TODO: 在此处添加构造函数逻辑
//
}

/**//// <summary>
/// 需要更新的实体
/// </summary>
/// <param name="articlecolumn"></param>
/// <returns>成功与否</returns>
public static bool UpdateArticleColumn(ArticleColumn articlecolumn)
...{
ArticleColumnBL oBL = new ArticleColumnBL();
return oBL.UpdataArticleColumn(articlecolumn);
}
/**//// <summary>
/// 删除实体
/// </summary>
/// <param name="nID">实体的ID</param>
/// <returns>成功与否</returns>
public static bool DeleteArticleColumnWhere(int nID)
...{
ArticleColumnBL oBL = new ArticleColumnBL();
return oBL.DeleteArticleColumn(nID);
}
/**//// <summary>
/// 查询实体
/// </summary>
/// <param name="ID">实体的ID</param>
/// <returns>返回Entity</returns>
public static ArticleColumn SelectArticleColumnWhere(string ID)
...{
ArticleColumn articlecolumn;
ArticleColumnBL oBL = new ArticleColumnBL();
if (oBL.SelectArticleColumnByPK( ID.ToString(), out articlecolumn))
...{
return articlecolumn;
}
else
...{
throw new Exception();
}
}

/**//// <summary>
/// 查出全部Entity集合
/// </summary>
/// <returns>EntityCollection</returns>
public static ArticleColumnCollection SelectArticleColumnCollectionWhere(BreakerSimplyHelper.EntityState state)
...{
ArticleColumnCollection ArticleColumnCollection;
ArticleColumnBL oBL = new ArticleColumnBL();
string condition = "";
switch (state)
...{
case BreakerSimplyHelper.EntityState.Active:
condition = "[IsActive]=true";
break;
case BreakerSimplyHelper.EntityState.NoActive:
condition = "[IsActive]=false";
break;
case BreakerSimplyHelper.EntityState.All:
condition = "1=1";
break;
}
string sOrderString = "Order By ID Desc";
if (oBL.SelectArticleColumnWhere(sOrderString,condition,out ArticleColumnCollection))
...{
return ArticleColumnCollection;
}
else
...{
throw new Exception();
}
}
/**//// <summary>
/// 根据栏目查询Entity的集合
/// </summary>
/// <param name="nColumnID">栏目ID</param>
/// <returns>EntityCollection</returns>
public static ArticleColumnCollection SelectArticleColumnCollectionWhere(int nColumnID)
...{
ArticleColumnCollection ArticleColumnCollection;
ArticleColumnBL oBL = new ArticleColumnBL();
string sCondition = "ColumnID =" + nColumnID;
if (oBL.SelectArticleColumnWhere(sCondition,out ArticleColumnCollection))
...{
return ArticleColumnCollection;
}
else
...{
throw new Exception();
}
}
}
}


Article
//BreakerLib V1.0;
namespace BreakerLib
...{
/**//// <summary>
/// Address 的摘要说明。
/// </summary>
public class Article : ArticleMD
...{
public Article()
...{
}

...#region
private ArticleColumn _ArticleColumn;
public ArticleColumn ArticleColumn
...{
get
...{
if (_ArticleColumn == null)
_ArticleColumn= ArticleColumnBL.SelectArticleColumnWhere(ColumnID.ToString());
return _ArticleColumn;
}
}
public string ArticleColumnName
...{
get
...{
if (_ArticleColumn == null)
_ArticleColumn= ArticleColumnBL.SelectArticleColumnWhere(ColumnID.ToString());
return _ArticleColumn.Name;
}
}
#endregion
}
}ArticleMD
//BreakerLib V1.0;
using System;
using System.Data;
using System.Data.OleDb;
namespace BreakerLib
...{
/**//// <summary>
/// Article Model Object,
/// </summary>
public class ArticleMD :BaseHelper
...{
//private fields
private String m_sAuthor;
private Int32 m_nColumnID;
private String m_sContent;
private DateTime m_dCreatedTime;
private Int32 m_nID;
private Boolean m_bIsActive;
private String m_sRecommededPicture;
private String m_sTitle;
private String m_sUUID;
//public properties
//summary
//
//summary
public String Author
...{
get...{return m_sAuthor;}
set...{m_sAuthor = value;}
}
//summary
//
//summary
public Int32 ColumnID
...{
get...{return m_nColumnID;}
set...{m_nColumnID = value;}
}
//summary
//
//summary
public String Content
...{
get...{return m_sContent;}
set...{m_sContent = value;}
}
//summary
//
//summary
public DateTime CreatedTime
...{
get...{return m_dCreatedTime;}
set...{m_dCreatedTime = value;}
}
//summary
//
//summary
public Int32 ID
...{
get...{return m_nID;}
set...{m_nID = value;}
}
//summary
//
//summary
public Boolean IsActive
...{
get...{return m_bIsActive;}
set...{m_bIsActive = value;}
}
//summary
//
//summary
public String RecommededPicture
...{
get...{return m_sRecommededPicture;}
set...{m_sRecommededPicture = value;}
}
//summary
//
//summary
public String Title
...{
get...{return m_sTitle;}
set...{m_sTitle = value;}
}
//summary
//
//summary
public String UUID
...{
get...{return m_sUUID;}
set...{m_sUUID = value;}
}
//Save Data
//将属性值保存到 OleDbParameter 数组
//除去只读字段ID
OleDbParameter#region OleDbParameter
public bool _SaveData(out OleDbParameter[] oledbParams)
...{
base.clearErrorMessage();
oledbParams = new OleDbParameter[8];
try
...{
oledbParams[0] = new OleDbParameter("@Author", OleDbType.VarWChar, 50);
oledbParams[0].Value = this.m_sAuthor;
oledbParams[1] = new OleDbParameter("@ColumnID", OleDbType.Integer);
oledbParams[1].Value = this.m_nColumnID;
oledbParams[2] = new OleDbParameter("@Content", OleDbType.VarWChar);
oledbParams[2].Value = this.m_sContent;
oledbParams[3] = new OleDbParameter("@CreatedTime", OleDbType.Date);
oledbParams[3].Value = this.m_dCreatedTime;
oledbParams[4] = new OleDbParameter("@IsActive", OleDbType.Boolean, 2);
oledbParams[4].Value = this.m_bIsActive;
oledbParams[5] = new OleDbParameter("@RecommededPicture", OleDbType.VarWChar, 80);
oledbParams[5].Value = this.m_sRecommededPicture;
oledbParams[6] = new OleDbParameter("@Title", OleDbType.VarWChar, 50);
oledbParams[6].Value = this.m_sTitle;
oledbParams[7] = new OleDbParameter("@UUID", OleDbType.VarWChar, 50);
oledbParams[7].Value = this.m_sUUID;
}
catch (Exception e)
...{
base.addErrorMessage("ArticleMD._SaveOleDbParameters():" + e);
return false;
}
return true;
}
#endregion
从 OleDbParameter Array 中获取数据填充到 Entity#region 从 OleDbParameter Array 中获取数据填充到 Entity
/**//// <summary>
/// 从 OleDbParameter Array 中获取数据填充到 Entity
/// </summary>
/// <param name="oledbparamters">用于读入数据</param>
/// <returns>调用是否成功</returns>
public bool _LoadData(OleDbParameter[] oledbparamters)
...{
base.clearErrorMessage();
try
...{
this.m_sAuthor = Convert.ToString(oledbparamters[0]);
this.m_nColumnID = Convert.ToInt32(oledbparamters[1]);
this.m_sContent = Convert.ToString(oledbparamters[2]);
this.m_dCreatedTime = Convert.ToDateTime(oledbparamters[3]);
this.m_nID = Convert.ToInt32(oledbparamters[4]);
this.m_bIsActive = Convert.ToBoolean(oledbparamters[5]);
this.m_sRecommededPicture = Convert.ToString(oledbparamters[6]);
this.m_sTitle = Convert.ToString(oledbparamters[7]);
this.m_sUUID = Convert.ToString(oledbparamters[8]);
}
catch (Exception e)
...{
base.addErrorMessage("ArticleMD._LoadData():" + e);
return false;
}
return true;
}
#endregion

从 IDataRecord 中获取数据填充到 Entity#region 从 IDataRecord 中获取数据填充到 Entity
/**//// <summary>
/// 从 IDataRecord dr 中获取数据填充到 Entity
/// </summary>
/// <param name="dr">用于读出数据</param>
/// <returns>调用是否成功</returns>
public Article _LoadData (IDataRecord dr)
...{
base.clearErrorMessage();
Article article =new Article();
try
...{
if (dr["Author"] != DBNull.Value)
...{
article.m_sAuthor = Convert.ToString(dr["Author"]);
}
if (dr["ColumnID"] != DBNull.Value)
...{
article.m_nColumnID = Convert.ToInt32(dr["ColumnID"]);
}
if (dr["Content"] != DBNull.Value)
...{
article.m_sContent = Convert.ToString(dr["Content"]);
}
if (dr["CreatedTime"] != DBNull.Value)
...{
article.m_dCreatedTime = Convert.ToDateTime(dr["CreatedTime"]);
}
if (dr["ID"] != DBNull.Value)
...{
article.m_nID = Convert.ToInt32(dr["ID"]);
}
if (dr["IsActive"] != DBNull.Value)
...{
article.m_bIsActive = Convert.ToBoolean(dr["IsActive"]);
}
if (dr["RecommededPicture"] != DBNull.Value)
...{
article.m_sRecommededPicture = Convert.ToString(dr["RecommededPicture"]);
}
if (dr["Title"] != DBNull.Value)
...{
article.m_sTitle = Convert.ToString(dr["Title"]);
}
if (dr["UUID"] != DBNull.Value)
...{
article.m_sUUID = Convert.ToString(dr["UUID"]);
}
return article;
}
catch (Exception e)
...{
base.addErrorMessage("ArticleMD._LoadData(dr):" + e);
return null;
}
}
#endregion

从 IDataRecord 中获取数据填充到 Entity Collection#region 从 IDataRecord 中获取数据填充到 Entity Collection
/**//// <summary>
/// 从 IDataRecord dr 中获取数据填充到 EntityCollection
/// </summary>
/// <param name="dr">用于读出数据</param>
/// <returns>调用是否成功</returns>
public bool _LoadData (OleDbDataReader dr,out ArticleCollection EntityCollection)
...{
EntityCollection = new ArticleCollection();
try
...{
while (dr.Read())
...{
EntityCollection.Add(_LoadData(dr));
}
return true;
}
finally
...{
dr.Close();
}
}
#endregion
}
}
ArticleCollection
namespace BreakerLib
...{
using System.Collections ;
using System;
public class ArticleCollection:CollectionBase
...{
/**//// <summary>
/// Gets or sets the value associated with the specified key
/// </summary>
public Article this[ int index ] 
...{
get ...{ return( (Article) List[index] );}
set ...{ List[index] = value;}
}

/**//// <summary>
/// Adds an item to the Article Collection
/// </summary>
public int Add( Article value ) 
...{
return( List.Add( value ) );
}

/**//// <summary>
/// Determines the index of a specific item in the Article Collection
/// </summary>
public int IndexOf( Article value ) 
...{
return( List.IndexOf( value ) );
}

/**//// <summary>
/// Inserts an item to the Article Collection at the specified position
/// </summary>
public void Insert( int index, Article value ) 
...{
List.Insert( index, value );
}

/**//// <summary>
/// Removes the first occurrence of Article in the Article Collection
/// </summary>
public void Remove( Article value ) 
...{
List.Remove( value );
}

/**//// <summary>
/// Determines whether the Article Collection contains a specific Article
/// </summary>
public bool Contains( Article value ) 
...{
// If value is not of type Article, this will return false.
return( List.Contains( value ) );
}

/**//// <summary>
/// Valiadtes before inserting a new Article into the Article Collection
/// </summary>
protected override void OnInsert( int index, Object value ) 
...{
if ( value.GetType() != Type.GetType("BreakerLib.Article,BreakerLib") )
throw new ArgumentException( "value must be of type Article.", "value" );
}

/**//// <summary>
/// Valiadtes before removing a new Article into the Article Collection
/// </summary>
protected override void OnRemove( int index, Object value ) 
...{
if ( value.GetType() != Type.GetType("BreakerLib.Article,BreakerLib") )
throw new ArgumentException( "value must be of type Article.", "value" );
}

/**//// <summary>
/// Valiadtes before setting a Article in Article Collection
/// </summary>
protected override void OnSet( int index, Object oldValue, Object newValue ) 
...{
if ( newValue.GetType() != Type.GetType("BreakerLib.Article,BreakerLib") )
throw new ArgumentException( "newValue must be of type Article.", "newValue" );
}

/**//// <summary>
/// Performs additional custom processes when validating a value Article
/// </summary>
protected override void OnValidate( Object value ) 
...{
if ( value.GetType() != Type.GetType("BreakerLib.Article,BreakerLib") )
throw new ArgumentException( "value must be of type Article." );
}
}
}

ArticleDAO
//BreakerLib V1.0;
using System;
using System.Data;
using System.Data.OleDb;
namespace BreakerLib
...{

/**//// <summary>
/// ArticleDAO。
/// </summary>
public class ArticleDAO
...{
//createEntity#region //createEntity
/**//// <summary>
/// 创建 Article
/// </summary>
/// <param name="article">创建新的实体</param>
/// <returns>成功与否</returns>
public bool CreateArticle( Article article)
...{
string sColumn ="[Author],[ColumnID],[Content],[CreatedTime],[IsActive],[RecommededPicture],[Title],[UUID]";
string sColumnPar = "?,?,?,?,?,?,?,?";
string strSQL =string.Format("Insert Into Article({0}) Values ({1})",sColumn,sColumnPar);
DAOHelper data = new DAOHelper();
OleDbParameter[] oledbParams;
article._SaveData(out oledbParams);
int i = data.RunSQL(strSQL, oledbParams);
if (i == 0)
return true;

else...{
return false;}
}
#endregion

//Update Entity#region//Update Entity
/**//// <summary>
/// 更新实体
/// </summary>
/// <param name="article">要更新的实体</param>
/// <param name="sCondition">符合更新的条件,如:ID=1</param>
/// <returns>成功与否</returns>
public bool UpdateArticle(Article article, string sCondition)
...{
if (IsExistsArticleRecord(sCondition))
...{
string sUpdateColumns= "[Author]= ? ,[ColumnID]= ? ,[Content]= ? ,[CreatedTime]= ? ,[IsActive]= ? ,[RecommededPicture]= ? ,[Title]= ? ,[UUID]= ? ";
string strSQL = string.Format("Update Article Set {0} Where {1}",sUpdateColumns,sCondition);
DAOHelper data = new DAOHelper();
OleDbParameter[] oledbParams;
article._SaveData(out oledbParams);
int i = data.RunSQL(strSQL, oledbParams);
if (i == 0)
return true;
else
...{
return false;
}
}
else
...{
return false;
}
}
#endregion

删除实体#region 删除实体
/**//// <summary>
/// 删除实体
/// </summary>
/// <param name="sCondition">符合删除的条件,如:ID=1</param>
/// <returns>成功与否</returns>
public bool DeleteArticle( string sCondition)
...{
string strSQL = string.Format("Delete * From Article Where {0}", sCondition);
DAOHelper data = new DAOHelper();
int i = data.RunSQL(strSQL);
if (i == 0)
return true;
else
...{
return false;
}
}
#endregion

对上面已定义的DAO根据具体的需要再进行一次封装#region 对上面已定义的DAO根据具体的需要再进行一次封装
/**//// <summary>
/// 更新实体
/// </summary>
/// <param name="article">要更新的实体</param>
/// <returns></returns>
public bool UpdataArticle(Article article)
...{
string sCondition =string.Format("ID = {0}",article.ID);
return UpdateArticle(article, sCondition);
}
/**//// <summary>
/// 根据ID,查询实体
/// </summary>
/// <param name="sID">ID</param>
/// <param name="article">输出实体</param>
/// <returns></returns>
public bool SelectArticleByPK(string sID,out Article article)
...{
string sCondition =string.Format("ID = {0}",sID);
return SelectArticleWhere(sCondition, out article);
}
/**//// <summary>
/// 删除实体
/// </summary>
/// <param name="nID">ID</param>
/// <returns></returns>
public bool DeleteArticle (int nID)
...{
string sCondition = string.Format("ID = {0}",nID);
return DeleteArticle(sCondition);
}
#endregion
选择全部的实体#region 选择全部的实体
/**//// <summary>
/// 选择实体的全部的集合
/// </summary>
/// <param name="articlecollection">输入出的EntityCollection</param>
/// <returns>成功与否</returns>
public bool SelectArticleWhere(string sOrderString,out ArticleCollection articlecollection)
...{
articlecollection = null;
Article article = new Article();
string strSQL = "";
if (sOrderString ==""||sOrderString == null)
...{
strSQL = string.Format("select * From {0} ","[Article]");
}
else
...{
strSQL = string.Format("select * From {0} Where {1} ","[Article]",sOrderString);
}
try
...{
DAOHelper data = new DAOHelper();
OleDbDataReader dr = null;
data.RunSQL(strSQL, out dr);
article._LoadData(dr, out articlecollection);
return true;
}
catch
...{
return false;
}
}
/**//// <summary>
/// 根据条件选择实体的全部的集合
/// </summary>
/// <param name="articlecollection">输入出的EntityCollection</param>
/// <param name="sCondition">条件</param>
/// <returns>成功与否</returns>
public bool SelectArticleWhere(string sOrderString,string sCondition, out ArticleCollection articlecollection)
...{
articlecollection = null;
Article article = new Article();
string strSQL = "";
if (sOrderString ==""||sOrderString == null)
...{
strSQL = string.Format("select * From {0} Where {1}","[Article]",sCondition);
}
else
...{
strSQL = string.Format("select * From {0} Where {1} {2}","[Article]",sCondition,sOrderString);
}
try
...{
DAOHelper data = new DAOHelper();
OleDbDataReader dr = null;
data.RunSQL(strSQL, out dr);
article._LoadData(dr, out articlecollection);
return true;
}
catch
...{
return false;
}
}

/**//// <summary>
/// 根据条件选择实体的全部的集合,并且进行分页
/// </summary>
/// <param name="sCondition"></param>
/// <param name="nPageSize"></param>
/// <param name="nPageIndex"></param>
/// <param name="articlecollection"></param>
/// <returns></returns>
public bool SelectArticleWhere(String sOrderString,String sCondition, Int32 nPageSize, Int32 nPageIndex, out ArticleCollection articlecollection)
...{
OleDbDataReader dr = null;
string strSQL = null;
if (nPageIndex == 1)
...{
if (sOrderString ==""||sOrderString == null)
...{
strSQL = string.Format("Select Top " + nPageSize + " * From {0} Where {1}","[Article]",sCondition);
}
else...{
strSQL = string.Format("Select Top " + nPageSize + " * From {0} Where {1} {2}","[Article]",sCondition,sOrderString);
}
}
else if (nPageIndex > 1)
...{
string sStart ="";
if (sOrderString ==""||sOrderString == null)
...{
sStart = string.Format(
"(Select Min([ID]) From (Select Top " + Convert.ToString((nPageIndex - 1)*nPageSize) +
" [ID] From {0} Where {1} ) AS Temp)","[Article]", sCondition);
}
else
...{
sStart = string.Format(
"(Select Min([ID]) From (Select Top " + Convert.ToString((nPageIndex - 1)*nPageSize) +
" [ID] From {0} Where {1} {2}) AS Temp)","Article", sCondition,sOrderString);
}
strSQL = string.Format("Select Top " + nPageSize + " * From {0} Where ID< {1} And {2} {3}","[Article]",sStart,sCondition,sOrderString);
}
else
...{
if (sOrderString ==""||sOrderString == null)
...{
strSQL = string.Format("Select Top " + nPageSize + " * From {0} Where {1}","[Article]",sCondition);
}
else...{
strSQL = string.Format("Select Top " + nPageSize + " * From {0} Where {1} {2}","[Article]",sCondition,sOrderString);
}
}
try
...{
Article article = new Article();
DAOHelper data = new DAOHelper();
data.RunSQL(strSQL, out dr);
article._LoadData(dr, out articlecollection);
return true;
}
finally
...{
dr.Close();
}
}
/**//// <summary>
/// 根据条件获取单个的实体记录
/// </summary>
/// <param name="Condition">查询条件,如:ID=1</param>
/// <param name="article">输入的实体</param>
/// <returns>成功与否</returns>
public bool SelectArticleWhere(string Condition,out Article article )
...{
article = new Article();
string strSQL = string.Format("select * From [Article] Where {0}", Condition);
DAOHelper data = new DAOHelper();
OleDbDataReader dr = null;
data.RunSQL(strSQL, out dr);
ArticleCollection EntityCollection;
article._LoadData(dr, out EntityCollection);
foreach (Article oarticle in EntityCollection)
...{
article = oarticle;
}
return true;
}
#endregion

判断实体是否存在#region 判断实体是否存在
/**//// <summary>
/// 判断实体是否存在
/// </summary>
/// <param name="Condition">判断条件,如:ID=1</param>
/// <returns>成功与否</returns>
public bool IsExistsArticleRecord(string Condition)
...{
string strSQL = string.Format("select * From [Article] Where {0}", Condition);
DAOHelper data = new DAOHelper();
OleDbDataReader dr = null;
data.RunSQL(strSQL, out dr);
if (dr.FieldCount > 0)
...{
return true;
}
else
...{
return false;
}
}
#endregion

/**//// <summary>
/// 计算文章的总数
/// </summary>
/// <param name="Condition"></param>
/// <param name="nCount"></param>
/// <returns></returns>
public bool CountArticleWhere(string Condition ,out int nCount)
...{
nCount = 0;
string strSQL = string.Format("select Count (*) As nRecordCount From [Article] Where {0}", Condition);
DAOHelper data = new DAOHelper();
OleDbDataReader dr = null;
data.RunSQL(strSQL, out dr);
if (dr.Read())
...{
nCount = Convert.ToInt32(dr["nRecordCount"]);
return true;
}
else
...{
return false;
}
}
}
} 
ArticleBL
//Version:BreakerLib V1.0
using System;
namespace BreakerLib
...{
/**//// <summary>
/// Article 的摘要说明。
/// </summary>
public class ArticleBL:ArticleDAO
...{
public ArticleBL()
...{
//
// TODO: 在此处添加构造函数逻辑
//
}

/**//// <summary>
/// 需要更新的实体
/// </summary>
/// <param name="article"></param>
/// <returns>成功与否</returns>
public static bool UpdateArticle(Article article)
...{
ArticleBL oBL = new ArticleBL();
return oBL.UpdataArticle(article);
}
/**//// <summary>
/// 删除实体
/// </summary>
/// <param name="nID">实体的ID</param>
/// <returns>成功与否</returns>
public static bool DeleteArticleWhere(int nID)
...{
ArticleBL oBL = new ArticleBL();
return oBL.DeleteArticle(nID);
}
/**//// <summary>
/// 查询实体
/// </summary>
/// <param name="ID">实体的ID</param>
/// <returns>返回Entity</returns>
public static Article SelectArticleWhere(string ID)
...{
Article article;
ArticleBL oBL = new ArticleBL();
if (oBL.SelectArticleByPK( ID, out article))
...{
return article;
}
else
...{
throw new Exception();
}
}
/**//// <summary>
/// 查出全部Entity集合
/// </summary>
/// <returns>EntityCollection</returns>
public static ArticleCollection SelectArticleCollectionWhere(BreakerSimplyHelper.EntityState state)
...{
ArticleCollection ArticleCollection;
ArticleBL oBL = new ArticleBL();
string condition = "";
switch (state)
...{
case BreakerSimplyHelper.EntityState.Active:
condition = "[IsActive]=true";
break;
case BreakerSimplyHelper.EntityState.NoActive:
condition = "[IsActive]=false";
break;
case BreakerSimplyHelper.EntityState.All:
condition = "1=1";
break;
}
string sOrderString = "Order By ID Desc";
if (oBL.SelectArticleWhere(sOrderString,condition,out ArticleCollection))
...{
return ArticleCollection;
}
else
...{
throw new Exception();
}
}
/**//// <summary>
/// 根据自定义条件,查询全部Entity集合
/// </summary>
/// <returns>EntityCollection</returns>
public static ArticleCollection SelectArticleCollectionWhere(string sCondition,string sOrderString,BreakerSimplyHelper.EntityState state)
...{
ArticleCollection ArticleCollection;
ArticleBL oBL = new ArticleBL();
switch (state)
...{
case BreakerSimplyHelper.EntityState.Active:
sCondition += "[IsActive]=true";
break;
case BreakerSimplyHelper.EntityState.NoActive:
sCondition += "[IsActive]=false";
break;
case BreakerSimplyHelper.EntityState.All:
sCondition += "1=1";
break;
}
if (oBL.SelectArticleWhere(sOrderString,sCondition,out ArticleCollection))
...{
return ArticleCollection;
}
else
...{
throw new Exception();
}
}
/**//// <summary>
/// 根据栏目查询Entity的集合
/// </summary>
/// <param name="nColumnID">栏目ID</param>
/// <returns>EntityCollection</returns>
public static ArticleCollection SelectArticleCollectionWhere(int nColumnID,BreakerSimplyHelper.EntityState state)
...{
ArticleCollection ArticleCollection;
ArticleBL oBL = new ArticleBL();
string condition = "";
if (nColumnID > 0)
...{
condition = "ColumnID =" + nColumnID+" And ";
}
else
...{
condition = "";
}
switch (state)
...{
case BreakerSimplyHelper.EntityState.Active:
condition += "[IsActive]=true";
break;
case BreakerSimplyHelper.EntityState.NoActive:
condition += "[IsActive]=false";
break;
case BreakerSimplyHelper.EntityState.All:
condition += "1=1";
break;
}
if (oBL.SelectArticleWhere(condition,out ArticleCollection))
...{
return ArticleCollection;
}
else
...{
throw new Exception();
}
}
/**//// <summary>
/// 按条件查出全部Entity集合,并且分页
/// </summary>
/// <returns>EntityCollection</returns>
public static ArticleCollection SelectArticleCollectionWhere(int ColumnID ,String sOrderString, Int32 nPageSize, Int32 nPageIndex,BreakerSimplyHelper.EntityState state)
...{
ArticleCollection ArticleCollection;
ArticleBL oBL = new ArticleBL();
string condition = "";
switch (state)
...{
case BreakerSimplyHelper.EntityState.Active:
condition = "[IsActive]=true";
break;
case BreakerSimplyHelper.EntityState.NoActive:
condition = "[IsActive]=false";
break;
case BreakerSimplyHelper.EntityState.All:
break;
}
if (ColumnID >0)
...{
if (ColumnID > 0 )
condition += " And ColumnID = " + ColumnID;
else
condition += "1=1 ";
}
if (oBL.SelectArticleWhere(sOrderString, condition, nPageSize, nPageIndex,
out ArticleCollection))
...{
return ArticleCollection;
}
else
...{
throw new Exception();
}
}
/**//// <summary>
/// 按条件查出全部Entity集合,并且分页
/// </summary>
/// <returns>EntityCollection</returns>
public static ArticleCollection SelectArticleCollectionWhere(String sOrderString, Int32 nPageSize, Int32 nPageIndex,BreakerSimplyHelper.EntityState state)
...{
return SelectArticleCollectionWhere(0, sOrderString, nPageSize, nPageIndex, state);
}

/**//// <summary>
/// 根据是否启用的状态,计算全部的图册的总数
/// </summary>
/// <returns>图册的总数</returns>
public static int CountArticle(BreakerSimplyHelper.EntityState state)
...{
int nCount = 0;
ArticleBL oBL = new ArticleBL();
string condition = "";
switch (state)
...{
case BreakerSimplyHelper.EntityState.Active:
condition = "[IsActive]=true";
break;
case BreakerSimplyHelper.EntityState.NoActive:
condition = "[IsActive]=false";
break;
case BreakerSimplyHelper.EntityState.All:
condition = "1=1";
break;
}
if (oBL.CountArticleWhere(condition, out nCount))
...{
return nCount;
}
else
...{
throw new Exception();
}
}
/**//// <summary>
/// 根据是否启用的状态与栏目计算图片数
/// </summary>
/// <returns>图册的总数</returns>
public static int CountArticle(int ColumnID,BreakerSimplyHelper.EntityState state)
...{
int nCount = 0;
ArticleBL oBL = new ArticleBL();
string condition = "";
switch (state)
...{
case BreakerSimplyHelper.EntityState.Active:
condition = "[IsActive]=true";
break;
case BreakerSimplyHelper.EntityState.NoActive:
condition = "[IsActive]=false";
break;
case BreakerSimplyHelper.EntityState.All:
break;
}
if (ColumnID >0)
...{
if (ColumnID > 0 )
condition += " And ColumnID = " + ColumnID;
else
condition += "1=1 ";
}
if (oBL.CountArticleWhere(condition, out nCount))
...{
return nCount;
}
else
...{
throw new Exception();
}
}
}
}



ArticleColumn 类与操作
本文介绍了一个名为 ArticleColumn 的类及其继承的 ArticleColumnMD 类。此外还详细描述了与文章相关的业务逻辑层(Business Logic Layer, BLL)操作,包括实体的创建、更新、删除和查询等方法。
605





