亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? database.cs

?? 一個多用戶在線題庫管理系統,可以實現各類試題的添加和管理
?? CS
字號:
using System;
using System.IO;
using System.ComponentModel;
using System.Collections;
using System.Diagnostics;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

using TQMS.DataAccessHelper;

namespace TQMS.DataAccessLayer
{
	/// <summary>
	/// 類,用于數據訪問的類。
	/// </summary>
	public class Database : IDisposable 
	{
		/// <summary>
		/// 保護變量,數據庫連接。
		/// </summary>
		protected SqlConnection Connection;

		/// <summary>
		/// 保護變量,數據庫連接串。
		/// </summary>
		protected String ConnectionString;
		
		/// <summary>
		// 構造函數。
		/// </summary>
		/// <param name="DatabaseConnectionString">數據庫連接串</param>
		public Database()
		{
            ConnectionString = ConfigurationManager.ConnectionStrings["QuestionManagerConnectionString"].ToString();
		}

		/// <summary>
		/// 析構函數,釋放非托管資源
		/// </summary>
		~Database()
		{
			try
			{
				if (Connection != null)
					Connection.Close();
			}
			catch{}
			try
			{
				Dispose();
			}
			catch{}
		}

		/// <summary>
		/// 保護方法,打開數據庫連接。
		/// </summary>
		protected void Open() 
		{
			if (Connection == null)
			{
				Connection = new SqlConnection(ConnectionString);
			}
			if (Connection.State.Equals(ConnectionState.Closed))
			{
                try
                {
                    Connection.Open();
                }
                catch(SqlException e)
                {

                    //if (!File.Exists("error.txt"))
                    //{
                    //    File.Create("error.txt");
                    //}
                    //FileStream fs = new FileStream("error.txt", FileAccess.ReadWrite);
                    //StreamWriter w = new StreamWriter(fs);
                    //fs.Write(e.Message.
                  
                   
                    //string strMessage = e.Message;
                    ////以下把信息寫入windows日志
                    ////要把aspnet用戶添加到管理員組中,以便有寫注冊表權限
                    //if (!EventLog.SourceExists("TQMS"))
                    //    EventLog.CreateEventSource("TQMS", "Application");
                    //    //EventLog.CreateEventSource("mySource", "myLog");
                    //EventLog Event = new EventLog();
                    //Event.Source = "TQMS";
                    //Event.WriteEntry(strMessage, EventLogEntryType.Warning);
                    ////EventLog.Delete("myLog");
                   
                    //throw new Exception("我處理不了,請最高人民法院處理!");
                }
			}
		}

		/// <summary>
		/// 公有方法,關閉數據庫連接。
		/// </summary>
		public void Close() 
		{
			if (Connection != null)
				Connection.Close();
		}

		/// <summary>
		/// 公有方法,釋放資源。
		/// </summary>
		public void Dispose() 
		{
			// 確保連接被關閉
			if (Connection != null) 
			{
				Connection.Dispose();
				Connection = null;
			}				
		}

		/// <summary>
		/// 公有方法,獲取數據,返回一個SqlDataReader (調用后注意調用SqlDataReader.Close())。
		/// </summary>
		/// <param name="SqlString">Sql語句</param>
		/// <returns>SqlDataReader</returns>
		public SqlDataReader GetDataReader(String SqlString)
		{
			Open();
			SqlCommand cmd = new SqlCommand(SqlString,Connection);
			return cmd.ExecuteReader();
		}

		/// <summary>
		/// 公有方法,獲取數據,返回一個SqlDataReader (調用后注意調用SqlDataReader.Close()、Database.Close())。
		/// </summary>
		/// <param name="SqlString">Sql語句</param>
		/// <returns>SqlDataReader</returns>
		public SqlDataReader GetSaDataReader(String SqlString)
		{
			Open();
			SqlCommand cmd = new SqlCommand(SqlString,Connection);
			return cmd.ExecuteReader();
		}

		/// <summary>
		/// 公有方法,獲取數據,返回一個DataSet。
		/// </summary>
		/// <param name="SqlString">Sql語句</param>
		/// <returns>DataSet</returns>
		public DataSet GetDataSet(String SqlString)
		{
			Open();
			SqlDataAdapter adapter = new SqlDataAdapter(SqlString,Connection);
			DataSet dataset = new DataSet();
			adapter.Fill(dataset);
			Close();
			return dataset;
		}

		/// <summary>
		/// 公有方法,獲取數據,返回一個DataTable。
		/// </summary>
		/// <param name="SqlString">Sql語句</param>
		/// <returns>DataTable</returns>
		public DataTable GetDataTable(String SqlString)
		{
			DataSet dataset = GetDataSet(SqlString);
			dataset.CaseSensitive = false;
			return dataset.Tables[0];
		}

		/// <summary>
		/// 公有方法,獲取數據,返回一個DataRow。
		/// </summary>
		/// <param name="SqlString">Sql語句</param>
		/// <returns>DataRow</returns>
		public DataRow GetDataRow(String SqlString)
		{
			DataSet dataset = GetDataSet(SqlString);
            
			dataset.CaseSensitive = false;
			if (dataset.Tables[0].Rows.Count>0)
			{
				return dataset.Tables[0].Rows[0];
			}
			else
			{
				return null;
			}
		}

		/// <summary>
		/// 公有方法,執行Sql語句。
		/// </summary>
		/// <param name="SqlString">Sql語句</param>
		/// <returns>對Update、Insert、Delete為影響到的行數,其他情況為-1</returns>
		public int ExecuteSQL(String SqlString)
		{
			int count = -1;
			Open();
			try
			{
				SqlCommand cmd = new SqlCommand(SqlString,Connection);
				count = cmd.ExecuteNonQuery();
			}
			catch
			{
				count = -1;
			}
			finally
			{
				Close();
			}
			return count;
		}

        /// <summary>
        /// 公有方法,執行一組Sql語句。
        /// </summary>
        /// <param name="SqlStrings">Sql語句組</param>
        /// <returns>是否成功</returns>
        public bool ExecuteSQL(String[] SqlStrings)
        {
            bool success = true;
            Open();
            SqlCommand cmd = new SqlCommand();
            SqlTransaction trans = Connection.BeginTransaction();
            cmd.Connection = Connection;
            cmd.Transaction = trans;
            try
            {
                foreach (String str in SqlStrings)
                {
                    cmd.CommandText = str;
                    cmd.ExecuteNonQuery();
                }
                trans.Commit();
            }
            catch
            {
                success = false;
                trans.Rollback();
            }
            finally
            {
                Close();
            }
            return success;
        }

		/// <summary>
		/// 公有方法,執行一組Sql語句。
		/// </summary>
		/// <param name="SqlStrings">Sql語句組</param>
		/// <returns>是否成功</returns>
		public bool ExecuteSQL(ArrayList SqlStrings)
		{
			bool success = true;
			Open();
			SqlCommand cmd = new SqlCommand();
			SqlTransaction trans = Connection.BeginTransaction();
			cmd.Connection = Connection;
			cmd.Transaction = trans;
			try
			{
				foreach (String str in SqlStrings)
				{
					cmd.CommandText = str;
					cmd.ExecuteNonQuery();
				}
				trans.Commit();
			}
			catch
			{
				success = false;
				trans.Rollback();
			}
			finally
			{
				Close();
			}
			return success;
		}

		/// <summary>
		/// 公有方法,在一個數據表中插入一條記錄。
		/// </summary>
		/// <param name="TableName">表名</param>
		/// <param name="Cols">哈西表,鍵值為字段名,值為字段值</param>
		/// <returns>是否成功</returns>
		public bool Insert(String TableName,Hashtable Cols)
		{
			int Count = 0;

			if (Cols.Count<=0)			
			{
				return true;
			}

			String Fields = " (";
			String Values = " Values(";			
			foreach(DictionaryEntry item in Cols)
			{
				if (Count!=0)
				{
					Fields += ",";
					Values += ",";
				}
				Fields += "["+item.Key.ToString()+"]";
				Values += item.Value.ToString();
				Count ++;
			}
			Fields += ")";
			Values += ")";

			String SqlString = "Insert into "+TableName+Fields+Values;

			String[] Sqls = {SqlString};
			return ExecuteSQL(Sqls);
		}

	
		/// <summary>
		/// 公有方法,更新一個數據表。
		/// </summary>
		/// <param name="TableName">表名</param>
		/// <param name="Cols">哈西表,鍵值為字段名,值為字段值</param>
		/// <param name="Where">Where子句</param>
		/// <returns>是否成功</returns>
		public bool Update(String TableName,Hashtable Cols,String Where)
		{
			int Count = 0;
			if (Cols.Count<=0)			
			{
				return true;
			}
			String Fields = " ";
			foreach(DictionaryEntry item in Cols)
			{
				if (Count!=0)
				{
					Fields += ",";
				}
				Fields += "["+item.Key.ToString()+"]";
				Fields += "=";
				Fields += item.Value.ToString();
				Count ++;
			}
			Fields += " ";

			String SqlString = "Update "+TableName+" Set "+Fields+Where;

			String[] Sqls = {SqlString};
			return ExecuteSQL(Sqls);
		}		
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合激情五月| 亚洲欧美日韩国产另类专区| 国产精品久线观看视频| 日韩国产高清在线| 91视频免费观看| 久久亚洲免费视频| 日本成人中文字幕在线视频| 日本久久电影网| 国产精品大尺度| 国产成人亚洲综合色影视| 日韩视频免费观看高清在线视频| 一区二区三区在线视频免费| 成人毛片老司机大片| 久久精品在线免费观看| 久久精品理论片| 777午夜精品视频在线播放| 一区二区三区在线免费观看| jiyouzz国产精品久久| 国产午夜精品一区二区| 精品写真视频在线观看| 日韩欧美亚洲一区二区| 美女久久久精品| 日韩欧美电影一二三| 日韩精品福利网| 欧美一级黄色大片| 蜜桃精品视频在线观看| 日韩午夜精品视频| 久久成人麻豆午夜电影| 精品99999| 国产aⅴ精品一区二区三区色成熟| 26uuu久久天堂性欧美| 国产精品一区二区91| 久久青草欧美一区二区三区| 国产精品系列在线观看| 欧美国产综合一区二区| av亚洲精华国产精华精| 一区二区三区在线免费观看| 欧美三区在线视频| 视频精品一区二区| 欧美videos大乳护士334| 另类小说图片综合网| 久久精品一区二区三区四区| 成人午夜精品在线| 亚洲一区视频在线| 日韩视频一区二区在线观看| 国产精品一卡二卡| 亚洲色图20p| 欧美福利一区二区| 国产精品自拍av| 国产精品狼人久久影院观看方式| 91社区在线播放| 五月天国产精品| 久久综合色8888| 91麻豆免费观看| 肉色丝袜一区二区| 国产欧美日韩在线| 欧美日韩一区高清| 国产精品一区二区三区乱码| 亚洲女与黑人做爰| 精品理论电影在线观看| 97se亚洲国产综合自在线观| 日本欧美加勒比视频| 中文字幕免费不卡| 91精品国产综合久久久蜜臀图片| 国产在线国偷精品产拍免费yy| 亚洲欧洲三级电影| 欧美大片在线观看一区二区| a美女胸又www黄视频久久| 日韩黄色免费网站| 国产精品久久久一区麻豆最新章节| 欧美日韩一区二区三区高清| 国产精品一色哟哟哟| 亚洲不卡在线观看| 国产精品成人免费精品自在线观看| 欧美福利视频导航| 色一情一乱一乱一91av| 国产精品456| 免费久久精品视频| 亚洲自拍偷拍九九九| 中文一区一区三区高中清不卡| 91精品国产一区二区三区香蕉| 91免费精品国自产拍在线不卡| 玖玖九九国产精品| 偷拍与自拍一区| 一个色妞综合视频在线观看| 亚洲国产精品传媒在线观看| 欧美成人免费网站| 欧美剧在线免费观看网站| 91女人视频在线观看| 成人小视频免费在线观看| 激情五月激情综合网| 亚洲成av人片在www色猫咪| 亚洲精品ww久久久久久p站| 国产精品久久久久久久久久免费看 | 久久99精品国产麻豆婷婷洗澡| 伊人色综合久久天天| 中文字幕不卡在线播放| 精品国产乱码久久久久久蜜臀| 6080国产精品一区二区| 欧美美女bb生活片| 欧美私模裸体表演在线观看| 色八戒一区二区三区| 99精品视频在线免费观看| 高清在线观看日韩| 国产成人亚洲精品狼色在线| 国产一区二区不卡在线| 国模娜娜一区二区三区| 开心九九激情九九欧美日韩精美视频电影 | 久久精品视频免费| 欧美精品一区二| 欧美r级电影在线观看| 欧美xfplay| 久久精品亚洲麻豆av一区二区| 欧美电影精品一区二区| 久久综合五月天婷婷伊人| xnxx国产精品| 中文无字幕一区二区三区| 久久精品一区二区三区四区| 久久综合国产精品| 中文字幕免费不卡| 一区二区中文视频| 一二三四区精品视频| 亚洲第一二三四区| 美日韩黄色大片| 国产一区二区在线看| 国产suv精品一区二区883| 99re热这里只有精品视频| 色www精品视频在线观看| 欧美日产在线观看| 精品国产3级a| 国产精品免费aⅴ片在线观看| 一区在线播放视频| 日韩国产欧美一区二区三区| 狠狠色丁香久久婷婷综| 99re热视频这里只精品 | 国产91在线观看丝袜| 成人黄色av网站在线| 在线观看亚洲精品视频| 日韩一区二区三区在线观看 | 国产精品系列在线播放| 成人app在线| 在线成人小视频| 国产人久久人人人人爽| 一区二区三区中文免费| 免费人成网站在线观看欧美高清| 国产91在线观看丝袜| 欧美日韩色综合| 久久亚区不卡日本| 亚洲在线视频网站| 国产综合色视频| 欧美性一区二区| 久久精品一区二区| 性做久久久久久| 成人小视频免费在线观看| 91麻豆精品国产自产在线观看一区| 精品91自产拍在线观看一区| 亚洲麻豆国产自偷在线| 毛片一区二区三区| 91成人国产精品| 久久精品亚洲一区二区三区浴池 | 国产激情一区二区三区桃花岛亚洲| 91亚洲永久精品| 久久综合狠狠综合久久激情 | 欧美精品一区二区精品网| 亚洲日穴在线视频| 国产资源在线一区| 4438x成人网最大色成网站| 国产精品婷婷午夜在线观看| 青草国产精品久久久久久| 91成人网在线| 国产精品电影院| 国产99久久久国产精品潘金| 欧美一区二区在线免费播放 | 亚洲欧美在线高清| 精品亚洲国产成人av制服丝袜| 欧美三级一区二区| 亚洲视频中文字幕| 国产69精品一区二区亚洲孕妇| 91精品国产手机| 日韩中文字幕亚洲一区二区va在线| 91日韩精品一区| 中文在线免费一区三区高中清不卡| 激情久久久久久久久久久久久久久久| 欧美日韩国产大片| 亚洲久草在线视频| www.欧美日韩| 一区在线观看免费| 成人网页在线观看| 国产精品视频线看| 国产成+人+日韩+欧美+亚洲| 亚洲精品一区二区在线观看| 久久99精品国产.久久久久| 日韩三级中文字幕| 麻豆免费精品视频| 精品国产一区二区三区av性色| 免费高清在线视频一区·| 91精品欧美久久久久久动漫| 日韩中文字幕亚洲一区二区va在线| 制服.丝袜.亚洲.另类.中文| 免费的成人av|