using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;

namespace UUN
{
    /// <summary>
    /// 程序的错误日志相关操作
    /// </summary>
    public class 访问统计_错误日志
    {
        private HttpContext HC;
        private SqlConnection 连接;
        public 访问统计_错误日志(HttpContext HC, SqlConnection 连接)
        {
            this.HC = HC;
            this.连接 = 连接;
        }
        /// <summary>
        /// 向数据库增加一个错误日志
        /// </summary>
        /// <param name="用户ID">此次访问的用户ID。</param>
        /// <param name="用户昵称">此次访问的用户昵称。</param>
        /// <param name="用户IP">此次访问的用户IP</param>
        /// <param name="用户地区">此次访问的用户的所在地区。</param>
        /// <param name="错误原因">此次错误的信息。</param>
        public void 记录(int 用户ID, String 用户昵称, String 用户IP, String 用户地区, String 错误原因)
        {
            int 最高ID = 常用.SQL_最高ID(连接, 程序.数据表前缀+"其它_访问统计_错误日志");
            SqlCommand 语句 = new SqlCommand("INSERT INTO [" + 程序.数据表前缀 + "其它_访问统计_错误日志]([ID],[用户ID],[用户昵称],[用户IP],[用户地区],[浏览器],[错误原因],[错误地址])" +
                "VALUES(" + 最高ID + ",@用户ID,@用户昵称,@用户IP,@用户地区,@浏览器,@错误原因,@错误地址)", 连接);
            语句.Parameters.Add("@用户ID", SqlDbType.Int).Value = 用户ID;
            语句.Parameters.Add("@用户昵称", SqlDbType.NVarChar).Value = 用户昵称;
            语句.Parameters.Add("@用户IP", SqlDbType.NVarChar).Value = 用户IP;
            语句.Parameters.Add("@用户地区", SqlDbType.NVarChar).Value = 用户地区;
            语句.Parameters.Add("@浏览器", SqlDbType.NVarChar).Value = HC.Request.Browser.Browser;
            语句.Parameters.Add("@错误原因", SqlDbType.NVarChar).Value = 错误原因;
            语句.Parameters.Add("@错误地址", SqlDbType.NVarChar).Value = HC.Request.Url.ToString();
            语句.ExecuteNonQuery();
        }
    }
}