📄 dbpagecounter.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 + -