.NET2.0學習筆記之--在線投票系統

類ASPNET2System.cs代碼如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/// <summary>
/// ASPNET2System 的摘要說明
/// </summary>
public class ASPNET2System
{
    public static string PROJECTNAME                   = "WebVote";
        public static string PROJECTDESN                   = "網絡在線投票系統";
        public static string PROJECTTREEROOTNODEDATA       = "0";      

        public static string OPERATIONADDSUCCESSMESSAGE    = "添加數據項成功!!!";
        public static string OPERATIONADDFAILUREMESSAGE    = "添加數據項失敗!!!";

        public static string OPERATIONUPDATESUCCESSMESSAGE = "修改數據項成功!!!";
        public static string OPERATIONUPDATEFAILUREMESSAGE = "修改數據項失敗!!!";

        public static string OPERATIONDELETESUCCESSMESSAGE = "刪除數據項成功!!!";
        public static string OPERATIONDELETEFAILUREMESSAGE = "刪除數據項失敗!!!";

        public static string OPERATIONNOSELECTMESSAGE      = "請選擇操作的數據項!!!";
        public static string OPERATIONDELETEMESSAGE        = "你確定要刪除所選擇的數據項嗎?";
        public static string PasswordErrorMESSAGE          = "舊密碼輸入錯誤,請重新輸入密碼!!!";

        public static string OPERATIONDATANULL             = "數據爲空!!!";
        public static string OPERATIONCHILADRENDATANOTNULL = "選擇結點的孩子不爲空!!!";
        public static string OPERATIONATTACHMENTDATA       = "該文檔包含附件,請先刪除附件!!!";
        public static string OPERATIONPICTUREDATA          = "該文檔包含圖片,請先刪除圖片!!!";
        public static string OPERATIONATTACHMENTPICTUREDATA = "該文檔包含附件和圖片,請先刪除附件和圖片!!!";

  /// <summary>
  /// ListBox控件的錯誤信息
  /// </summary>
  public static string LISTBOX_NO_SELECT_ITEM = "請選擇操作的數據項!";

        public static string RedirectErrorUrl(String sErrorUrl)
        {
            if (sErrorUrl == null || sErrorUrl == "")
            {
                return ("");
            }
            return ((sErrorUrl.IndexOf("?") > -1) ? sErrorUrl.Substring(0, sErrorUrl.IndexOf("?")) : sErrorUrl);
        }

        public static void SetListBoxItem(ListBox listBox, string sItemValue)
        {
            int index = 0;
            foreach (ListItem item in listBox.Items)
            {
                ///判斷值是否相等,並且設置控件的SelectedIndex
                if (item.Value.ToLower() == sItemValue.ToLower())
                {
                    listBox.SelectedIndex = index;
                    break;
                }
                index++;
            }
        }

        public static void SetListBoxItem(DropDownList listBox, string sItemValue)
        {
            int index = 0;
            foreach (ListItem item in listBox.Items)
            {
                ///判斷值是否相等,並且設置控件的SelectedIndex
                if (item.Value.ToLower() == sItemValue.ToLower())
                {
                    listBox.SelectedIndex = index;
                    break;
                }
                index++;
            }
        }

  public static bool IsExistItem(ListBox listBox, string sItemValue)
  {
   foreach (ListItem item in listBox.Items)
   {
    if (item.Text.ToLower() == sItemValue.ToLower())
    {
     return true;
    }
   }
   return false;
  }
    }
 類SQLHelper.cs代碼如下

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.ComponentModel;

namespace SQLHelper
{
 /// <summary>
 /// SQLHelper類封裝對SQL Server數據庫的添加、刪除、修改和選擇等操作
 /// </summary>
 public class SQLHelper
 {
  /// 連接數據源
  private SqlConnection myConnection = null;
  private readonly string RETURNVALUE = "RETURNVALUE";

  /// <summary>
  /// 打開數據庫連接.
  /// </summary>
  private void Open()
  {
   // 打開數據庫連接
   if (myConnection == null)
   {
    myConnection = new SqlConnection(ConfigurationSettings.AppSettings["SQLCONNECTIONSTRING"].ToString());    
   }    
   if(myConnection.State == ConnectionState.Closed)
   {  
    try
    {
     ///打開數據庫連接
     myConnection.Open();
    }
    catch(Exception ex)
    {
     SystemError.CreateErrorLog(ex.Message);
    }
    finally
    {
     ///關閉已經打開的數據庫連接    
    }
   }
  }

  /// <summary>
  /// 關閉數據庫連接
  /// </summary>
  public void Close()
  {
   ///判斷連接是否已經創建
   if(myConnection != null)
   {
    ///判斷連接的狀態是否打開
    if(myConnection.State == ConnectionState.Open)
    {
     myConnection.Close();
    }
   }
  }

  /// <summary>
  /// 釋放資源
  /// </summary>
  public void Dispose()
  {
   // 確認連接是否已經關閉
   if (myConnection != null)
   {
    myConnection.Dispose();
    myConnection = null;
   }    
  }
  
  /// <summary>
  /// 執行存儲過程
  /// </summary>
  /// <param name="procName">存儲過程的名稱</param>
  /// <returns>返回存儲過程返回值</returns>
  public int RunProc(string procName)
  {
   SqlCommand cmd = CreateProcCommand(procName, null);
   try
   {
    ///執行存儲過程
    cmd.ExecuteNonQuery();
   }
   catch(Exception ex)
   {
    ///記錄錯誤日誌
    SystemError.CreateErrorLog(ex.Message);
   }
   finally
   {
    ///關閉數據庫的連接
    Close();
   }
   
   ///返回存儲過程的參數值
   return (int)cmd.Parameters[RETURNVALUE].Value;
  }

  /// <summary>
  /// 執行存儲過程
  /// </summary>
  /// <param name="procName">存儲過程名稱</param>
  /// <param name="prams">存儲過程所需參數</param>
  /// <returns>返回存儲過程返回值</returns>
  public int RunProc(string procName, SqlParameter[] prams)
  {
   SqlCommand cmd = CreateProcCommand(procName, prams);
   try
   {
    ///執行存儲過程
    cmd.ExecuteNonQuery();
   }
   catch(Exception ex)
   {
    ///記錄錯誤日誌
    SystemError.CreateErrorLog(ex.Message);
   }
   finally
   {
    ///關閉數據庫的連接
    Close();
   }
   
   ///返回存儲過程的參數值
   return (int)cmd.Parameters[RETURNVALUE].Value;
  }

  /// <summary>
  /// 執行存儲過程
  /// </summary>
  /// <param name="procName">存儲過程的名稱</param>
  /// <param name="dataReader">返回存儲過程返回值</param>
  public void RunProc(string procName, out SqlDataReader dataReader)
  {
   ///創建Command
   SqlCommand cmd = CreateProcCommand(procName, null);
   
   try
   {
    ///讀取數據
    dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection); 
   }
   catch(Exception ex)
   {
    dataReader = null;
    ///記錄錯誤日誌
    SystemError.CreateErrorLog(ex.Message);
   }
  }

  /// <summary>
  /// 執行存儲過程
  /// </summary>
  /// <param name="procName">存儲過程的名稱</param>
  /// <param name="prams">存儲過程所需參數</param>
  /// <param name="dataSet">返回DataReader對象</param>
  public void RunProc(string procName, SqlParameter[] prams, out SqlDataReader dataReader)
  {
   ///創建Command
   SqlCommand cmd = CreateProcCommand(procName, prams);
   
   try
   {
    ///讀取數據
    dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
   }
   catch(Exception ex)
   {
    dataReader = null;
    ///記錄錯誤日誌
    SystemError.CreateErrorLog(ex.Message);
   }
  } 
 
  /// <summary>
  /// 執行存儲過程
  /// </summary>
  /// <param name="procName">存儲過程的名稱</param>
  /// <param name="dataSet">返回DataSet對象</param>
  public void RunProc(string procName, ref DataSet dataSet)
  {
   if(dataSet == null)
   {
    dataSet = new DataSet();
   }
   ///創建SqlDataAdapter
   SqlDataAdapter da = CreateProcDataAdapter(procName,null);
   
   try
   {
    ///讀取數據
    da.Fill(dataSet);
   }
   catch(Exception ex)
   {
    ///記錄錯誤日誌
    SystemError.CreateErrorLog(ex.Message);
   }
   finally
   {
    ///關閉數據庫的連接
    Close(); 
   }
  }

  /// <summary>
  /// 執行存儲過程
  /// </summary>
  /// <param name="procName">存儲過程的名稱</param>
  /// <param name="prams">存儲過程所需參數</param>
  /// <param name="dataSet">返回DataSet對象</param>
  public void RunProc(string procName, SqlParameter[] prams,ref DataSet dataSet)
  {
   if(dataSet == null)
   {
    dataSet = new DataSet();
   }
   ///創建SqlDataAdapter
   SqlDataAdapter da = CreateProcDataAdapter(procName,prams);
   
   try
   {
    ///讀取數據
    da.Fill(dataSet);
   }
   catch(Exception ex)
   {
    ///記錄錯誤日誌
    SystemError.CreateErrorLog(ex.Message);
   }
   finally
   {
    ///關閉數據庫的連接
    Close(); 
   }
  }
  
  /// <summary>
  /// 執行SQL語句
  /// </summary>
  /// <param name="cmdText">SQL語句</param>
  /// <returns>返回值</returns>
  public int RunSQL(string cmdText)
  {
   SqlCommand cmd = CreateSQLCommand(cmdText, null);
   try
   {
    ///執行存儲過程
    cmd.ExecuteNonQuery();
   }
   catch(Exception ex)
   {
    ///記錄錯誤日誌
    SystemError.CreateErrorLog(ex.Message);
   }
   finally
   {
    ///關閉數據庫的連接
    Close(); 
   }
   
   ///返回存儲過程的參數值
   return (int)cmd.Parameters[RETURNVALUE].Value;
  }

  
  /// <summary>
  /// 執行SQL語句
  /// </summary>
  /// <param name="cmdText">SQL語句</param>
  /// <param name="prams">SQL語句所需參數</param>
  /// <returns>返回值</returns>
  public int RunSQL(string cmdText, SqlParameter[] prams)
  {
   SqlCommand cmd = CreateSQLCommand(cmdText,prams);
   try
   {
    ///執行存儲過程
    cmd.ExecuteNonQuery();
   }
   catch(Exception ex)
   {
    ///記錄錯誤日誌
    SystemError.CreateErrorLog(ex.Message);
   }
   finally
   {
    ///關閉數據庫的連接
    Close(); 
   }
   
   ///返回存儲過程的參數值
   return (int)cmd.Parameters[RETURNVALUE].Value;
  } 
  
  /// <summary>
  /// 執行SQL語句
  /// </summary>
  /// <param name="cmdText">SQL語句</param>  
  /// <param name="dataReader">返回DataReader對象</param>
  public void RunSQL(string cmdText, out SqlDataReader dataReader)
  {
   ///創建Command
   SqlCommand cmd = CreateSQLCommand(cmdText, null);
   
   try
   {
    ///讀取數據
    dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection); 
   }
   catch(Exception ex)
   {
    dataReader = null;
    ///記錄錯誤日誌
    SystemError.CreateErrorLog(ex.Message);
   }
  }

  /// <summary>
  /// 執行SQL語句
  /// </summary>
  /// <param name="cmdText">SQL語句</param>
  /// <param name="prams">SQL語句所需參數</param>
  /// <param name="dataReader">返回DataReader對象</param>
  public void RunSQL(string cmdText, SqlParameter[] prams, out SqlDataReader dataReader)
  {
   ///創建Command
   SqlCommand cmd = CreateSQLCommand(cmdText, prams);
   
   try
   {
    ///讀取數據
    dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
   }
   catch(Exception ex)
   {
    dataReader = null;
    ///記錄錯誤日誌
    SystemError.CreateErrorLog(ex.Message);
   }
  }

  /// <summary>
  /// 執行SQL語句
  /// </summary>
  /// <param name="cmdText">SQL語句</param>
  /// <param name="dataSet">返回DataSet對象</param>
  public void RunSQL(string cmdText, ref DataSet dataSet)
  {
   if(dataSet == null)
   {
    dataSet = new DataSet();
   }
   ///創建SqlDataAdapter
   SqlDataAdapter da = CreateSQLDataAdapter(cmdText,null);
   
   try
   {
    ///讀取數據
    da.Fill(dataSet);
   }
   catch(Exception ex)
   {
    ///記錄錯誤日誌
    SystemError.CreateErrorLog(ex.Message);
   }
   finally
   {
    ///關閉數據庫的連接
    Close(); 
   }
  }

  /// <summary>
  /// 執行SQL語句
  /// </summary>
  /// <param name="cmdText">SQL語句</param>
  /// <param name="prams">SQL語句所需參數</param>
  /// <param name="dataSet">返回DataSet對象</param>
  public void RunSQL(string cmdText, SqlParameter[] prams,ref DataSet dataSet)
  {
   if(dataSet == null)
   {
    dataSet = new DataSet();
   }
   ///創建SqlDataAdapter
   SqlDataAdapter da = CreateProcDataAdapter(cmdText,prams);
   
   try
   {
    ///讀取數據
    da.Fill(dataSet);
   }
   catch(Exception ex)
   {
    ///記錄錯誤日誌
    SystemError.CreateErrorLog(ex.Message);
   }
   finally
   {
    ///關閉數據庫的連接
    Close(); 
   }
  }
  
  /// <summary>
  /// 創建一個SqlCommand對象以此來執行存儲過程
  /// </summary>
  /// <param name="procName">存儲過程的名稱</param>
  /// <param name="prams">存儲過程所需參數</param>
  /// <returns>返回SqlCommand對象</returns>
  private SqlCommand CreateProcCommand(string procName, SqlParameter[] prams)
  {
   ///打開數據庫連接
   Open();
   
   ///設置Command
   SqlCommand cmd = new SqlCommand(procName, myConnection);
   cmd.CommandType = CommandType.StoredProcedure;

   ///添加把存儲過程的參數
   if (prams != null)
   {
    foreach (SqlParameter parameter in prams)
    {
     cmd.Parameters.Add(parameter);
    }
   }
   
   ///添加返回參數ReturnValue
   cmd.Parameters.Add(
    new SqlParameter(RETURNVALUE, SqlDbType.Int,4,ParameterDirection.ReturnValue,
    false,0,0,string.Empty, DataRowVersion.Default,null));

   ///返回創建的SqlCommand對象
   return cmd;
  }

  /// <summary>
  /// 創建一個SqlCommand對象以此來執行存儲過程
  /// </summary>
  /// <param name="cmdText">SQL語句</param>
  /// <param name="prams">SQL語句所需參數</param>
  /// <returns>返回SqlCommand對象</returns>
  private SqlCommand CreateSQLCommand(string cmdText, SqlParameter[] prams)
  {
   ///打開數據庫連接
   Open();
   
   ///設置Command
   SqlCommand cmd = new SqlCommand(cmdText,myConnection);   

   ///添加把存儲過程的參數
   if (prams != null)
   {
    foreach (SqlParameter parameter in prams)
    {
     cmd.Parameters.Add(parameter);
    }
   }
   
   ///添加返回參數ReturnValue
   cmd.Parameters.Add(
    new SqlParameter(RETURNVALUE, SqlDbType.Int,4,ParameterDirection.ReturnValue,
    false,0,0,string.Empty, DataRowVersion.Default,null));

   ///返回創建的SqlCommand對象
   return cmd;
  }

  /// <summary>
  /// 創建一個SqlDataAdapter對象,用此來執行存儲過程
  /// </summary>
  /// <param name="procName">存儲過程的名稱</param>
  /// <param name="prams">存儲過程所需參數</param>
  /// <returns>返回SqlDataAdapter對象</returns>
  private SqlDataAdapter CreateProcDataAdapter(string procName,SqlParameter[] prams)
  {
   ///打開數據庫連接
   Open();
   
   ///設置SqlDataAdapter對象
   SqlDataAdapter da = new SqlDataAdapter(procName,myConnection);
   da.SelectCommand.CommandType = CommandType.StoredProcedure;   

   ///添加把存儲過程的參數
   if (prams != null)
   {
    foreach (SqlParameter parameter in prams)
    {
     da.SelectCommand.Parameters.Add(parameter);
    }
   }
   
   ///添加返回參數ReturnValue
   da.SelectCommand.Parameters.Add(
    new SqlParameter(RETURNVALUE, SqlDbType.Int,4,ParameterDirection.ReturnValue,
    false,0,0,string.Empty, DataRowVersion.Default,null));

   ///返回創建的SqlDataAdapter對象
   return da;
  }

  /// <summary>
  /// 創建一個SqlDataAdapter對象,用此來執行SQL語句
  /// </summary>
  /// <param name="cmdText">SQL語句</param>
  /// <param name="prams">SQL語句所需參數</param>
  /// <returns>返回SqlDataAdapter對象</returns>
  private SqlDataAdapter CreateSQLDataAdapter(string cmdText,SqlParameter[] prams)
  {
   ///打開數據庫連接
   Open();
   
   ///設置SqlDataAdapter對象
   SqlDataAdapter da = new SqlDataAdapter(cmdText,myConnection);     

   ///添加把存儲過程的參數
   if (prams != null)
   {
    foreach (SqlParameter parameter in prams)
    {
     da.SelectCommand.Parameters.Add(parameter);
    }
   }
   
   ///添加返回參數ReturnValue
   da.SelectCommand.Parameters.Add(
    new SqlParameter(RETURNVALUE, SqlDbType.Int,4,ParameterDirection.ReturnValue,
    false,0,0,string.Empty, DataRowVersion.Default,null));

   ///返回創建的SqlDataAdapter對象
   return da;
  }
  
  /// <summary>
  /// 生成存儲過程參數
  /// </summary>
  /// <param name="ParamName">存儲過程名稱</param>
  /// <param name="DbType">參數類型</param>
  /// <param name="Size">參數大小</param>
  /// <param name="Direction">參數方向</param>
  /// <param name="Value">參數值</param>
  /// <returns>新的 parameter 對象</returns>
  public SqlParameter CreateParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
  {
   SqlParameter param;

   ///當參數大小爲0時,不使用該參數大小值
   if(Size > 0)
   {
    param = new SqlParameter(ParamName, DbType, Size);
   }
   else
   {
    ///當參數大小爲0時,不使用該參數大小值
    param = new SqlParameter(ParamName, DbType);
   }

   ///創建輸出類型的參數
   param.Direction = Direction;
   if (!(Direction == ParameterDirection.Output && Value == null))
   {
    param.Value = Value;
   }

   ///返回創建的參數
   return param;
  }

  /// <summary>
  /// 傳入輸入參數
  /// </summary>
  /// <param name="ParamName">存儲過程名稱</param>
  /// <param name="DbType">參數類型</param></param>
  /// <param name="Size">參數大小</param>
  /// <param name="Value">參數值</param>
  /// <returns>新的parameter 對象</returns>
  public SqlParameter CreateInParam(string ParamName, SqlDbType DbType, int Size, object Value)
  {
   return CreateParam(ParamName, DbType, Size, ParameterDirection.Input, Value);
  }  

  /// <summary>
  /// 傳入返回值參數
  /// </summary>
  /// <param name="ParamName">存儲過程名稱</param>
  /// <param name="DbType">參數類型</param>
  /// <param name="Size">參數大小</param>
  /// <returns>新的 parameter 對象</returns>
  public SqlParameter CreateOutParam(string ParamName, SqlDbType DbType, int Size)
  {
   return CreateParam(ParamName, DbType, Size, ParameterDirection.Output, null);
  }  

  /// <summary>
  /// 傳入返回值參數
  /// </summary>
  /// <param name="ParamName">存儲過程名稱</param>
  /// <param name="DbType">參數類型</param>
  /// <param name="Size">參數大小</param>
  /// <returns>新的 parameter 對象</returns>
  public SqlParameter CreateReturnParam(string ParamName, SqlDbType DbType, int Size)
  {
   return CreateParam(ParamName, DbType, Size, ParameterDirection.ReturnValue, null);
  }   
 }
}

類SystemError.cs代碼如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
/// <summary>
/// SystemError 的摘要說明
/// </summary>
public class SystemError
{
    public static string _fileName = "f://Systemlog.txt";
    public static String FileName
    {
        get { return (_fileName); }
        set { if (value != null || value != "") { _fileName = value; } }
    }
    public static void CreateErrorLog(string message)
    {
       if(File.Exists(FileName))
            {
                /**////如果日誌文件已經存在,則直接寫入日誌文件
                StreamWriter sr = File.AppendText(FileName);
                sr.WriteLine ("/n");
                sr.WriteLine (DateTime.Now.ToString()+message);
                sr.Close();
            }
            else
            {
                /**////創建日誌文件
                StreamWriter sr = File.CreateText(FileName);
                sr.Close();
            }   
        }
 public SystemError()
 {
  //
  // TODO: 在此處添加構造函數邏輯
  //
 }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章