articletask.cs

来自「该项目中对 SQLHelper 类进行了简单封装」· CS 代码 · 共 181 行

CS
181
字号
/* 
 * ArticleTask.cs @Microsoft Visual Studio 2005 <.NET Framework 2.0>
 * AfritXia
 * 04.26/2006
 * 
 * 文章信息数据库任务实现类
 * 
 */

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;

using NET.AfritXia.DBUtility;
using NET.AfritXia.MyHome.DBTask.Definition;
using NET.AfritXia.MyHome.Model.Message;

namespace NET.AfritXia.MyHome.DBTask.Access2000
{
	/// <summary>
	/// ArticleTask 文章信息数据库任务实现类
	/// </summary>
	public partial class ArticleTask : DBTaskBase, IArticleTask
	{
		#region 类 ArticleTask 构造器
		/// <summary>
		/// 类 ArticleTask 默认构造器
		/// </summary>
		public ArticleTask()
		{
		}
		#endregion

		#region IArticleTask 成员
		/// <summary>
		/// 添加文章
		/// </summary>
		/// <param name="newArticle"></param>
		public void Append(Article newArticle)
		{
			DbParamCollection<OleDbParameter, OleDbType> parameters = new DbParamCollection<OleDbParameter, OleDbType>();

			// 文章标题
			parameters.Add("@Title", OleDbType.VarWChar, 40).Value = newArticle.Title;
			// 文章来自用户名称
			parameters.Add("@PostUser", OleDbType.VarWChar, 20).Value = newArticle.PostUser;
			// 文章内容
			parameters.Add("@TextContent", OleDbType.LongVarWChar).Value = newArticle.TextContent;
			// 摘要信息
			parameters.Add("@Summary", OleDbType.LongVarWChar).Value = newArticle.Summary;

			// 执行 SQL 查询
			CustomSQLHelper.ExecuteNoneQuery(SQL_Append, parameters.ToArray(), 
				this.DBConn, this.DBTranx);
		}

		/// <summary>
		/// 删除文章
		/// </summary>
		/// <param name="articleUID">所要删除的文章 ID</param>
		public void Delete(int articleUID)
		{
			if (articleUID <= 0)
				return;

			DbParamCollection<OleDbParameter, OleDbType> parameters = new DbParamCollection<OleDbParameter, OleDbType>();

			// 文章 ID
			parameters.Add("@ArticleUID", OleDbType.Integer).Value = articleUID;

			// 执行 SQL 查询
			CustomSQLHelper.ExecuteNoneQuery(SQL_Delete, parameters.ToArray(), 
				this.DBConn, this.DBTranx);
		}

		/// <summary>
		/// 更新文章
		/// </summary>
		/// <param name="newArticle"></param>
		public void Update(Article newArticle)
		{
			if (newArticle == null)
				return;

			DbParamCollection<OleDbParameter, OleDbType> parameters = new DbParamCollection<OleDbParameter, OleDbType>();

			// 文章标题
			parameters.Add("@Title", OleDbType.VarWChar, 40).Value = newArticle.Title;
			// 文章来自用户名称
			parameters.Add("@PostUser", OleDbType.VarWChar, 20).Value = newArticle.PostUser;
			// 文章内容
			parameters.Add("@TextContent", OleDbType.LongVarWChar).Value = newArticle.TextContent;
			// 摘要信息
			parameters.Add("@Summary", OleDbType.LongVarWChar).Value = newArticle.Summary;
			// 文章编号
			parameters.Add("@ArticleID", OleDbType.Integer).Value = newArticle.UniqueID;

			// 执行 SQL 查询
			CustomSQLHelper.ExecuteNoneQuery(ArticleTask.SQL_Update, parameters.ToArray(), 
				this.DBConn, this.DBTranx);
		}

		/// <summary>
		/// 增加文章点击率
		/// </summary>
		/// <param name="articleUID"></param>
		public void IncreaseClicked(int articleUID)
		{
			if (articleUID <= 0)
				return;

			DbParamCollection<OleDbParameter, OleDbType> parameters = new DbParamCollection<OleDbParameter, OleDbType>();

			// 设置文章编号
			parameters.Add("@ArticleUID", OleDbType.Integer).Value = articleUID;

			// 执行 SQL 查询
			CustomSQLHelper.ExecuteNoneQuery(ArticleTask.SQL_IncreaseClicked, parameters.ToArray(), 
				this.DBConn, this.DBTranx);
		}

		/// <summary>
		/// 获取文章列表
		/// </summary>
		/// <param name="orderGistValue">排序方式</param>
		/// <param name="startRecord">起始记录位置</param>
		/// <param name="maxRecords">最大记录个数</param>
		/// <param name="allRecordCount">总记录个数</param>
		/// <returns></returns>
		public IList<Article> GetArticleList(int orderGistValue, int startRecord, int maxRecords, out int allRecordCount)
		{
			allRecordCount = 0;

			if (maxRecords <= 0)
				return null;

			List<Article> articleList = new List<Article>();

			using (OleDbDataReader dr = CustomSQLHelper.ExecuteReader(SQL_GetArticleList(orderGistValue, startRecord, maxRecords)))
			{
				while (dr.Read())
				{
					Article article = CustomSQLHelper.CreateObject<Article>(dr);
					// 添加文章到集合
					articleList.Add(article);
				}
			}

			return articleList;
		}

		/// <summary>
		/// 浏览文章
		/// </summary>
		/// <param name="articleUID"></param>
		/// <returns></returns>
		public Article ViewArticle(int articleUID)
		{
			if (articleUID <= 0)
				return null;

			Article article = null;

			DbParamCollection<OleDbParameter, OleDbType> parameters = new DbParamCollection<OleDbParameter, OleDbType>();

			// 设置文章编号
			parameters.Add("@ArticleUID", OleDbType.Integer).Value = articleUID;

			using (OleDbDataReader dr = CustomSQLHelper.ExecuteReader(ArticleTask.SQL_ViewArticle, parameters.ToArray()))
			{
				if (dr.Read())
					article = CustomSQLHelper.CreateObject<Article>(dr);
			}

			return article;
		}
		#endregion
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?