This is not a very mean things

源代码在线查看: threadsdb.cs

软件大小: 542 K
上传用户: iamguest88
关键词: things This mean very
下载地址: 免注册下载 普通下载 VIP

相关代码

				//***********************************************************************
				//
				// WebExpert.NET 1.0 
				//
				// (c) 2003, www.AspCool.com. All rights reserved.
				// ASP酷技术网 版权所有
				//
				// 该源码下载自:http://www.51aspx.com
				// 邮箱:tim@aspcool.com
				//
				// 版权声明:本程序仅供学习使用,你也可以修改后在网站上使用,但使用时必
				// 须保留ASP酷技术网(www.AspCool.com)的版权信息和链接。本程序随《ASP.NET
				// 网站建设专家》一书赠送,未经作者同意,不得随意修改、传播。
				//
				// 描述:
				//   此文件包含下面的类:
				//       ThreadsDB
				//
				// 作者:     王保健
				// 时间:     2004-12-04
				//
				//************************************************************************
				
				
				using System;
				using System.Data;
				using System.Data.SqlClient;
				using System.Configuration;
				
				
				namespace AspCool.WebExpert
				{
					public class ThreadsDB
					{
						
				
						# region 显示Thread内容
						
						//*********************************************************************
						//
						// GetThreads 方法
						//
						// GetThreads 方法返回所有包含所有Thread信息的DataSet。
						//
						//*********************************************************************
						private DataSet GetThreads()
						{
							// 创建一个数据库连接实例和命令对象。
							SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
							SqlDataAdapter myCommand = new SqlDataAdapter("GetThreads", myConnection);
				
							// 把命令对象的命令类型设置为存储过程。
							myCommand.SelectCommand.CommandType = CommandType.StoredProcedure;
				
							// 建立并填充一个DataSet。
							DataSet myDataSet = new DataSet();
							myCommand.Fill(myDataSet);
						
							// 返回一个DataSet。
							return myDataSet;
						}
				
						//*********************************************************************
						//
						// GetThreadsRecords 方法
						//
						// GetThreadsRecords 方法是用来计算Threads的总数。
						//
						//
						//*********************************************************************
						public int GetThreadsRecords()
						{
							// 创建一个数据库连接实例和命令对象。
							SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
							SqlCommand myCommand = new SqlCommand("GetThreadsRecords", myConnection);
				
							// 把命令对象的命令类型设置为存储过程
							myCommand.CommandType = CommandType.StoredProcedure;
				
							
							// 执行命令。
							myConnection.Open();
							SqlDataReader result = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
							return (int)result["co"];
				            
				
						}
				
						//*********************************************************************
						//
						// CurrentPageThreads 方法
						//
						// CurrentPageThreads 方法是用来从一个包含所有Thread的DataSet中返回一个只包含
						// 当前页面的DataSet。
						//
						// 其中currentPage是指当前的页号,pageSize是指每页有多少条Thread,totalPage
						// 用来返回总共有多少页Thread。
						//
						//*********************************************************************
						public DataSet CurrentPageThreads(int currentPage,int pageSize,out int totalPage,out int records)
						{
							// 创建一个数据库连接实例和命令对象。
							SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
							SqlDataAdapter myCommand = new SqlDataAdapter("GetThreads", myConnection);
				
							// 把命令对象的命令类型设置为存储过程。
							myCommand.SelectCommand.CommandType = CommandType.StoredProcedure;
				
						
							// 建立并填充一个DataSet。
							DataSet allThreads = new DataSet();
							myCommand.Fill(allThreads);
				
							// 创建一个新的DataSet。
							DataSet dsCurrentThreads = new DataSet();
				
							// 计算所有Thread的条数。
							records = allThreads.Tables[0].Rows.Count;
				
							// 计算当前页第一条Thread的位置。
							int startIndex = (currentPage-1)*pageSize;
				
							// 计算当前页最后一条Thread的位置。
							int endIndex = startIndex + pageSize;
				
							// 计算Thread的页数。
							totalPage = records/pageSize;
				
							if (totalPage*pageSize							{
								totalPage++;
							}
				
							if (endIndex>records)
								endIndex = records;
							
							// 建立一个与allThreads数据结构完全一样的DataSet.
							dsCurrentThreads = allThreads.Clone();
				
							// 取得当前页的所有记录,并保存到新的DataSet中去。
							for (int i=startIndex; i							{
								DataRow row = dsCurrentThreads.Tables[0].NewRow();
								row.ItemArray = allThreads.Tables[0].Rows[i].ItemArray;
				
								dsCurrentThreads.Tables[0].Rows.Add(row);
							}
							
							// 返回当前页的DataSet。
							return dsCurrentThreads;
						}
				
						//*********************************************************************
						//
						// ClickThread 方法
						//
						// ClickThread 是把Threads数据表中被访问的Thread的点击次数增加一。
						//
						//*********************************************************************
				
						public void ClickThread(int ThreadID) 
						{
				
							// 创建一个数据库连接实例和命令对象。
							SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
							SqlCommand myCommand = new SqlCommand("ClickThread", myConnection);
				
							// 把命令对象的命令类型设置为存储过程。
							myCommand.CommandType = CommandType.StoredProcedure;
				
							// 向存储过程中传递参数。
							SqlParameter parameterThreadID = new SqlParameter("@ThreadID", SqlDbType.Int, 4);
							parameterThreadID.Value = ThreadID;
							myCommand.Parameters.Add(parameterThreadID);
				
							// 打开数据库连接并执行命令。
							myConnection.Open();
							myCommand.ExecuteNonQuery();
							myConnection.Close();
						}
				
						//*********************************************************************
						//
						// ReplyThread 方法
						//
						// ReplyThread 是把Threads数据表中被访问的Thread的回复次数增加一。
						//
						//*********************************************************************
				
						public void ReplyThread(int ThreadID) 
						{
				
							// 创建一个数据库连接实例和命令对象。
							SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
							SqlCommand myCommand = new SqlCommand("ReplyThread", myConnection);
				
							// 把命令对象的命令类型设置为存储过程。
							myCommand.CommandType = CommandType.StoredProcedure;
				
							// 向存储过程中传递参数。
							SqlParameter parameterThreadID = new SqlParameter("@ThreadID", SqlDbType.Int, 4);
							parameterThreadID.Value = ThreadID;
							myCommand.Parameters.Add(parameterThreadID);
				
							// 打开数据库连接并执行命令。
							myConnection.Open();
							myCommand.ExecuteNonQuery();
							myConnection.Close();
						}
				
				
				
				
				
						//*********************************************************************
						//
						// GetSingleThread 方法
						//
						// GetSingleThread 方法是用来返回一条包含某条Thread记录的所有信息的SqlDataReader.
						// itemId为这条Thread记录的编号。
						//
						//*********************************************************************
				
						public SqlDataReader GetSingleThread(int ThreadId) 
						{
				
							// 创建一个数据库连接实例和命令对象。
							SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
							SqlCommand myCommand = new SqlCommand("GetSingleThread", myConnection);
				
							// 把命令对象的命令类型设置为存储过程
							myCommand.CommandType = CommandType.StoredProcedure;
				
							// 向存储过程中传递参数。
							SqlParameter parameterThreadId = new SqlParameter("@ThreadId", SqlDbType.Int, 4);
							parameterThreadId.Value = ThreadId;
							myCommand.Parameters.Add(parameterThreadId);
				
							// 执行命令。
							myConnection.Open();
							SqlDataReader result = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
				            
							// 返回一个datareader。
							return result;
						}
						# endregion
				
						# region 增加、修改、删除Thread
				
				
						
				
						//*********************************************************************
						//
						// AddThread 方法
						//
						// AddThread 方法在Threads表中增加一条新的Thread记录,此方法返回新增加的Thread的 
						// Thread编号。
						//
						//*********************************************************************
						public void AddThread(System.Int32 threadID,System.String author,System.String subject,System.String content,System.Int32 reply,System.Int32 totalView)
						{
							// 创建一个数据库连接实例和命令对象。
							SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
							SqlCommand myCommand = new SqlCommand("AddThread", myConnection);
				
							// 把命令对象的命令类型设置为存储过程。
							myCommand.CommandType = CommandType.StoredProcedure;
				
							// 向存储过程中传递参数。
							SqlParameter parameterAuthor = new SqlParameter("@author", SqlDbType.NVarChar,50);
							parameterAuthor.Value = author;
							myCommand.Parameters.Add(parameterAuthor);
				
							SqlParameter parameterSubject = new SqlParameter("@subject", SqlDbType.NVarChar,50);
							parameterSubject.Value = subject;
							myCommand.Parameters.Add(parameterSubject);
				
							SqlParameter parameterContent = new SqlParameter("@content", SqlDbType.NText,16);
							parameterContent.Value = content;
							myCommand.Parameters.Add(parameterContent);
				
							SqlParameter parameterTotalView = new SqlParameter("@totalView", SqlDbType.Int,4);
							parameterTotalView.Value = totalView;
							myCommand.Parameters.Add(parameterTotalView);
				
							SqlParameter parameterReply = new SqlParameter("@reply", SqlDbType.Int,4);
							parameterReply.Value = reply;
							myCommand.Parameters.Add(parameterReply);
				
				
							// 打开数据库连接并执行命令。
							myConnection.Open();
							myCommand.ExecuteNonQuery();
							myConnection.Close();
				
				
						}
				
						//*********************************************************************
						//
						// UpdateThreads 方法
						//
						// UpdateThreads 是用来根据Thread编号来更新Threads表中的一条Thread记录。
						//
						//*********************************************************************
				
						public void UpdateThread(System.DateTime postTime,System.Int32 threadID,System.String author,System.String content,System.Int32 reply,System.String subject,System.Int32 totalView)
						{
				
							
							// 创建一个数据库连接实例和命令对象。
							SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
							SqlCommand myCommand = new SqlCommand("UpdateThread", myConnection);
				
							// 向存储过程中传递参数。
							myCommand.CommandType = CommandType.StoredProcedure;
				
							// 向存储过程中传递参数。
							SqlParameter parameterItemID = new SqlParameter("@ItemID", SqlDbType.Int, 4);
							parameterItemID.Direction = ParameterDirection.Output;
							myCommand.Parameters.Add(parameterItemID);
				
							
							SqlParameter parameterThreadID = new SqlParameter("@threadID", SqlDbType.Int,4);
							parameterThreadID.Value = threadID;
							myCommand.Parameters.Add(parameterThreadID);
				
							SqlParameter parameterAuthor = new SqlParameter("@author", SqlDbType.NVarChar,50);
							parameterAuthor.Value = author;
							myCommand.Parameters.Add(parameterAuthor);
				
							SqlParameter parameterSubject = new SqlParameter("@subject", SqlDbType.NVarChar,50);
							parameterSubject.Value = subject;
							myCommand.Parameters.Add(parameterSubject);
				
							SqlParameter parameterContent = new SqlParameter("@content", SqlDbType.NText,16);
							parameterContent.Value = content;
							myCommand.Parameters.Add(parameterContent);
				
							SqlParameter parameterPostTime = new SqlParameter("@postTime", SqlDbType.DateTime,8);
							parameterPostTime.Value = postTime;
							myCommand.Parameters.Add(parameterPostTime);
				
							SqlParameter parameterTotalView = new SqlParameter("@totalView", SqlDbType.Int,4);
							parameterTotalView.Value = totalView;
							myCommand.Parameters.Add(parameterTotalView);
				
							SqlParameter parameterReply = new SqlParameter("@reply", SqlDbType.Int,4);
							parameterReply.Value = reply;
							myCommand.Parameters.Add(parameterReply);
				
							// 打开数据库连接并执行命令。
							myConnection.Open();
							myCommand.ExecuteNonQuery();
							myConnection.Close();
						
						
						}
				
						//*********************************************************************
						//
						// DeleteThread 方法
						//
						// DeleteThread 方法是根据Thread编号删除一条Thread记录。
						// itemID为要删除的Thread的编号。
						//
						//*********************************************************************
				
						public void DeleteThread(int itemID) 
						{
				
							// 创建一个数据库连接实例和命令对象。
							SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
							SqlCommand myCommand = new SqlCommand("DeleteThread", myConnection);
				
							// 把命令对象的命令类型设置为存储过程。
							myCommand.CommandType = CommandType.StoredProcedure;
				
							// 向存储过程中传递参数。
							SqlParameter parameterItemID = new SqlParameter("@ItemID", SqlDbType.Int, 4);
							parameterItemID.Value = itemID;
							myCommand.Parameters.Add(parameterItemID);
				
							// 打开数据库连接并执行命令。
							myConnection.Open();
							myCommand.ExecuteNonQuery();
							myConnection.Close();
						}
				
						# endregion
					}
				}
							

相关资源