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

📄 dbpagecounter.cs

📁 投票系统模块设计
💻 CS
字号:
using System;
using System.Data.SqlClient;
using System.Configuration;

namespace Common
{
	/// <summary>
	/// DbPageCounter 的摘要说明。
	/// </summary>
	public class DbPageCounter : IPageCounter
	{
		private SqlConnection conn = null;

		public DbPageCounter()
		{
			//从配置文件web.config中读取数据库连接串
			string strConn = ConfigurationSettings.AppSettings["ConnStr"];
			conn = new SqlConnection(strConn);
		}

		~DbPageCounter()
		{
			conn.Close();
		}

		#region IPageCounter 成员

		public int GetPageCount()
		{
			//打开数据库连接
			conn.Open();

			//创建SqlCommand
			SqlCommand cmd = conn.CreateCommand();
			cmd.CommandText = "SELECT PageCount FROM SiteStat";
			int iCount = 0;
			try
			{
				//读取PageCount字段的值
				iCount = (int)cmd.ExecuteScalar();
			}
			catch (SqlException ex)
			{
				throw ex;
			}
			catch (Exception ex)
			{
				throw ex;
			}
			finally
			{
				conn.Close();
			}
			return iCount;
		}

		public void SetPageCount(int iCount)
		{
			//打开数据库连接
			conn.Open();
			SqlCommand cmd = conn.CreateCommand();
			cmd.CommandText = string.Format(
                "UPDATE SiteStat SET PageCount = {0}", iCount);
			try
			{
				//执行update语句
				cmd.ExecuteNonQuery();
			}
			catch (SqlException ex)
			{
				throw ex;
			}
			catch (Exception ex)
			{
				throw ex;
			}
			finally
			{
				//关闭数据库连接
				conn.Close();
			}
		}

		public void IncreasePageCount()
		{
			//打开数据库连接
			conn.Open();

			//创建SqlCommand对象
			SqlCommand cmd = conn.CreateCommand();

			//开始事务
			SqlTransaction trans = conn.BeginTransaction();

			cmd.Connection = conn;
			cmd.Transaction = trans;			
			cmd.CommandText = "UPDATE SiteStat SET PageCount = PageCount + 1";

			try
			{
				//执行update语句
				cmd.ExecuteNonQuery();
				trans.Commit();
			}
			catch (Exception ex)
			{
				try
				{
					//若发生异常则回滚
					trans.Rollback();
				}
				catch (SqlException se)
				{
					throw se;
				}
				finally
				{
					throw ex;
				}
			}
			finally
			{
				//关闭数据库连接
				conn.Close();
			}
		}

		#endregion
	}
}

⌨️ 快捷键说明

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