using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.IO;
using System.Collections;
using System.Text.RegularExpressions;
using System.Text;

namespace UUN
{
    /// <summary>
    /// 编译Club/User_GetPassword2.aspx文件
    /// </summary>
    public class 编译扩展_Club_GetPassword2 : 编译扩展接口
    {
        private SqlConnection 连接;
        private HttpContext HC;
        private 编译器 编译器;

        public 编译扩展_Club_GetPassword2(SqlConnection 连接, HttpContext HC, 编译器 编译器)
        {
            this.连接 = 连接;
            this.HC = HC;
            this.编译器 = 编译器;
        }

        #region 编译扩展接口 成员

        public string 开始执行代码()
        {
            return @"		String SQL=""SELECT [ID] FROM [""+程序.数据表前缀+""社区_用户_用户] WHERE [用户类型]='会员' AND "";
		SqlParameter 参数;
		String 用户=Request.Form[""YongHu""];
		switch(Convert.ToInt32(Request.Form[""LeiXing""]))
		{
			case 0:
				SQL+=""[ID]=@ID"";
				参数=new SqlParameter(""@ID"",SqlDbType.Int);
				参数.Value=Convert.ToInt32(用户);
				break;
			case 1:
			    {
			    	SQL+=""[手机号]=@手机号"";
					参数=new SqlParameter(""@ID"",SqlDbType.NVarChar);
					参数.Value=用户;
			    }
				break;
			default:
				{
					SQL+=""[昵称]=@昵称"";
					参数=new SqlParameter(""@昵称"",SqlDbType.NVarChar);
					参数.Value=用户;
				}
				break;
		}
		SqlCommand 语句=new SqlCommand(SQL,访问.连接);
		语句.Parameters.Add(参数);
		int ID;
		SqlDataReader 读取=语句.ExecuteReader();
		if(读取.Read())
			ID=Convert.ToInt32(读取[""ID""]);
		else
		{
			读取.Close();
			throw new Exception(""用户不存在"");
		}
		读取.Close();
		
		语句=new SqlCommand(""SELECT [密码保护问题1],[密码保护问题2],[密码保护问题3] FROM [""+程序.数据表前缀+""社区_密码保护] WHERE [会员ID]=@会员ID"",访问.连接);
		语句.Parameters.Add(""@会员ID"",SqlDbType.Int).Value=ID;
		Hashtable 密码保护=常用.SQL_获取(语句);
		if(密码保护==null)
			throw new Exception(""该用户未设置密码保护"");
";
        }

        public string 编译公共标签(string 代码)
        {
            String 返回值 = "";
            switch (代码)
            {
                case "密码保护问题1":
                    返回值 += "\t\t返回值.Append(Server.HtmlEncode(密码保护[\"密码保护问题1\"].ToString()));\r\n";
                    break;
                case "密码保护问题2":
                    返回值 += "\t\t返回值.Append(Server.HtmlEncode(密码保护[\"密码保护问题2\"].ToString()));\r\n";
                    break;
                case "密码保护问题3":
                    返回值 += "\t\t返回值.Append(Server.HtmlEncode(密码保护[\"密码保护问题3\"].ToString()));\r\n";
                    break;
                case "会员ID":
                    返回值 += "\t\t返回值.Append(ID.ToString());\r\n";
                    break;
            }
            return 返回值;
        }

        public string 编译模板方法(string 方法名称, string[] 属性数组)
        {
            return "";
        }

        public string 结束执行代码()
        {
            return "";
        }

        #endregion
    }
}