⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lwordtask.cs

📁 随便上传一文章 随便上传一文章 随便上传一文章 随便上传一文章
💻 CS
字号:
using System;
using System.Collections;
using System.Data;
using System.Data.OleDb;
using System.Web;

using TraceLWord7.Classes;		// 引用实体规范层
using TraceLWord7.DbTask;		// 引用行为规范层

namespace TraceLWord7.AccessTask
{
	/// <summary>
	/// LWordTask 留言板任务类
	/// </summary>
	public class LWordTask : ILWordTask
	{
		// 数据库连接字符串
		private const string DB_CONN=@"PROVIDER=Microsoft.Jet.OLEDB.4.0; DATA Source=C:\DbFs\TraceLWordDb.mdb";

		/// <summary>
		/// 读取 LWord 数据表,返回留言对象数组
		/// </summary>
		/// <returns></returns>
		public LWord[] ListLWord()
		{
			// 留言对象集合
			ArrayList lwordList=new ArrayList();

			string cmdText="SELECT * FROM [LWord] ORDER BY [LWordID] DESC";

			OleDbConnection dbConn=new OleDbConnection(DB_CONN);
			OleDbCommand dbCmd=new OleDbCommand(cmdText, dbConn);

			try
			{
				dbConn.Open();
				OleDbDataReader dr=dbCmd.ExecuteReader();

				while(dr.Read())
				{
					LWord lword=PutObjectProperty(new LWord(), dr);
					lwordList.Add(lword);
				}
			}
			catch
			{
				throw;
			}
			finally
			{
				dbConn.Close();
			}

			// 将集合转型为数组并返回给调用者
			return (LWord[])lwordList.ToArray(typeof(TraceLWord7.Classes.LWord));
		}

		/// <summary>
		/// 获取指定时间段的留言信息
		/// </summary>
		/// <param name="startTime">起始时间</param>
		/// <param name="endTime">结束时间</param>
		/// <returns></returns>
		public LWord[] ListLWord(DateTime startTime, DateTime endTime)
		{
			// 留言对象集合
			ArrayList lwordList=new ArrayList();

			string cmdText="";

			cmdText+="SELECT * FROM [LWord] WHERE [PostTime] BETWEEN ( @StartTime AND @EndTime ) ";
			cmdText+="ORDER BY [LWordID] DESC";

			OleDbConnection dbConn=new OleDbConnection(DB_CONN);
			OleDbCommand dbCmd=new OleDbCommand(cmdText, dbConn);

			// 设置起始时间
			dbCmd.Parameters.Add(new OleDbParameter("@StartTime", OleDbType.Date));
			dbCmd.Parameters["@StartTime"].Value=startTime;

			// 设置结束时间
			dbCmd.Parameters.Add(new OleDbParameter("@EndTime", OleDbType.Date));
			dbCmd.Parameters["@EndTime"].Value=endTime;

			try
			{
				dbConn.Open();
				OleDbDataReader dr=dbCmd.ExecuteReader();

				while(dr.Read())
				{
					LWord lword=PutObjectProperty(new LWord(), dr);
					lwordList.Add(lword);
				}
			}
			catch
			{
				throw;
			}
			finally
			{
				dbConn.Close();
			}

			// 将集合转型为数组并返回给调用者
			return (LWord[])lwordList.ToArray(typeof(TraceLWord7.Classes.LWord));
		}

		/// <summary>
		/// 发送留言信息到数据库
		/// </summary>
		/// <param name="newLWord">留言对象</param>
		public void PostLWord(LWord newLWord)
		{
			// 留言内容不能为空
			if(newLWord==null || newLWord.TextContent==null || newLWord.TextContent=="")
				throw new Exception("留言内容为空");

			string cmdText="INSERT INTO [LWord]([TextContent]) VALUES(@TextContent)";

			OleDbConnection dbConn=new OleDbConnection(DB_CONN);
			OleDbCommand dbCmd=new OleDbCommand(cmdText, dbConn);

			dbCmd.Parameters.Add(new OleDbParameter("@TextContent", OleDbType.LongVarWChar));
			dbCmd.Parameters["@TextContent"].Value=newLWord.TextContent;

			try
			{
				dbConn.Open();
				dbCmd.ExecuteNonQuery();
			}
			catch
			{
				throw;
			}
			finally
			{
				dbConn.Close();
			}
		}

		#region PutObjectProperty 读取数据源数据,并设置到对象属性
		/// <summary>
		/// 读取数据源数据,并设置到对象属性
		/// </summary>
		/// <param name="lword">留言对象</param>
		/// <param name="dr">数据源</param>
		/// <returns></returns>
		public static LWord PutObjectProperty(LWord lword, OleDbDataReader dr)
		{
			if(lword==null || dr==null)
				return lword;

			// 设置留言编号
			lword.UniqueID=(int)dr["LWordID"];
			// 留言内容
			lword.TextContent=(string)dr["TextContent"];
			// 发送时间
			lword.PostTime=(DateTime)dr["PostTime"];

			return lword;
		}
		#endregion
	}
}

⌨️ 快捷键说明

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