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

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

?? sqlhelper.cs

?? c#三層架構項目開發的全過程
?? CS
字號:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace DAL
{
	/// <summary>
	/// SqlHelper 的摘要說明。
	/// </summary>
	public class SqlHelper
	{
        public  static string conStr = ConfigurationManager.ConnectionStrings["SqlConnString"].ConnectionString;

        #region 執行查詢sql
        /// <summary>
        /// 執行查詢sql
        /// </summary>
        /// <param name="procname">存儲過程名稱</param>
        /// <param name="pars">參數數組</param>
        /// <returns>返回DataTable</returns>
        public static DataTable search(string procname, SqlParameter[] pars)
        {
            DataTable dt = new DataTable();
            //1.建立一個連接
            using (SqlConnection conn = new SqlConnection(conStr))
            {
                //2.創建cmd對象
                SqlCommand cmd = new SqlCommand(procname, conn);

                //3.參數加入到cmd
                cmd.CommandType = CommandType.StoredProcedure;
                if (pars != null)
                {
                    foreach (SqlParameter item in pars)
                    {
                        cmd.Parameters.Add(item);
                    }
                }

                //4.創建da對象
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                //5.填充數據集
                da.Fill(dt);
            }


            return dt;


        }
        #endregion


        #region 執行執行添加、修改、刪除sql
        /// <summary>
        /// 執行執行添加、修改、刪除sql
        /// </summary>
        /// <param name="procname">存儲過程名稱</param>
        /// <param name="pars">參數數組</param>
        /// <returns>返回受影響行數</returns>
        public static int exec(string procname, SqlParameter[] pars)
        {
            int rowa = 0;
            //1.建立一個連接
            using (SqlConnection conn = new SqlConnection(conStr))
            {
                //2.創建cmd對象
                SqlCommand cmd = new SqlCommand(procname, conn);

                //3.參數加入到cmd
                cmd.CommandType = CommandType.StoredProcedure;
                if (pars != null)
                {
                    foreach (SqlParameter item in pars)
                    {
                        cmd.Parameters.Add(item);
                    }
                }

                //4.開連接
                conn.Open();
                rowa = cmd.ExecuteNonQuery();
                //5.關連接
                conn.Close();
                // cmd.Dispose();

            }


            return rowa;


        }
        #endregion

		#region PrepareCommand
		/// <summary>
		/// 設置Command對象的屬性
		/// </summary>
		/// <param name="command">命令對象</param>
		/// <param name="connection">連接對象</param>
		/// <param name="commandType">命令類型(存儲過程、文本等等)</param>
		/// <param name="commandText">存儲過程名或T-SQL語句</param>
		/// <param name="commandParameters">命令的參數</param>
		private static void PrepareCommand(SqlCommand command, SqlConnection connection, CommandType commandType, string commandText, SqlParameter[] commandParameters)
		{
			if( command == null ) 
				throw new ArgumentNullException( "command" );
			if( connection == null)
				throw new ArgumentNullException( "connection" );
			if( commandText == null || commandText.Length == 0 ) 
				throw new ArgumentNullException( "commandText" );

			command.Connection = connection;
            command.Parameters.Clear();
			command.CommandType = commandType;
			command.CommandText = commandText;
			if(commandParameters != null)//判斷命令參數
				foreach(SqlParameter para in commandParameters)
					command.Parameters.Add(para);//添加到命令參數集合
		}
		#endregion

		#region ExecuteNonQuery
		/// <summary>
		/// 在指定的連接上用指定的參數執行SQL命令(不返回任何行)
		/// 一般用語執行執行 UPDATE、INSERT 或 DELETE 語句。
		/// </summary>
		/// <param name="connectionString">連接字符串</param>
		/// <param name="commandType">命令類型(存儲過程、文本等等)</param>
		/// <param name="commandText">存儲過程名或T-SQL語句</param>
		/// <param name="commandParameters">命令的參數</param></param>
		/// <returns>該命令影響的行數</returns>
		public static int ExecuteNonQuery(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters)
		{
            //留給界面層處理異常 用throw
			if( connectionString == null || connectionString.Length == 0 ) 
				throw new ArgumentNullException( "connectionString" );
			if( commandText == null || commandText.Length == 0 ) 
				throw new ArgumentNullException( "commandText" );
            //節省資源,方法結束后自動釋放
			using (SqlConnection connection = new SqlConnection(connectionString))
			{
				connection.Open();//打開數據庫
				SqlCommand command = new SqlCommand();
				PrepareCommand(command,connection,commandType,commandText,commandParameters);//命令在使用之前的準備工作
                int retval = command.ExecuteNonQuery();//retval 命令影響的行數

                connection.Close();

				return retval;
			}
		}
		#endregion

		#region ExecuteReader
		/// <summary>
		/// 在指定的連接上用指定的參數執行SQL命令
		/// </summary>
		/// <param name="connectionString">連接字符串</param>
		/// <param name="commandType">命令類型(存儲過程、文本等等)</param>
		/// <param name="commandText">存儲過程名或T-SQL語句</param>
		/// <param name="commandParameters">命令的參數</param>
		/// <returns>返回一個SqlDataReader對象</returns>
		public static SqlDataReader ExecuteReader(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters)
		{
			if( connectionString == null || connectionString.Length == 0 ) 
				throw new ArgumentNullException( "connectionString" );
			if( commandText == null || commandText.Length == 0 ) 
				throw new ArgumentNullException( "commandText" );

			SqlConnection connection = null;
            //防止數據庫打開時出現問題 用try{}
			try
			{
				connection = new SqlConnection(connectionString);
				connection.Open();

				SqlCommand command = new SqlCommand();
				PrepareCommand(command,connection,commandType,commandText,commandParameters);
				SqlDataReader dataReader = command.ExecuteReader(CommandBehavior.CloseConnection);

				return dataReader;
			}
			catch
			{
				if(connection != null)
					connection.Close();

				return null;
			}
		}

		#endregion

		#region ExecuteScalar
		/// <summary>
		/// 在指定的連接上用指定的參數執行SQL命令
		/// </summary>
		/// <param name="connectionString">連接字符串</param>
		/// <param name="commandType">命令類型(存儲過程、文本等等)</param>
		/// <param name="commandText">存儲過程名或T-SQL語句</param>
		/// <param name="commandParameters">命令的參數</param>
		/// <returns>返回一個單值</returns>
		public static object ExecuteScalar(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters)
		{
			if( connectionString == null || connectionString.Length == 0 ) 
				throw new ArgumentNullException( "connectionString" );
			if( commandText == null || commandText.Length == 0 ) 
				throw new ArgumentNullException( "commandText" );

			using (SqlConnection connection = new SqlConnection(connectionString))
			{
				connection.Open();

				SqlCommand command = new SqlCommand();
				PrepareCommand(command,connection,commandType,commandText,commandParameters);
				object obj = command.ExecuteScalar();

				connection.Close();

				return obj;
			}
		}
		#endregion

		#region FillDataSet
		/// <summary>
		/// 填充數據集
		/// </summary>
		/// <param name="connectionString">連接字符串</param>
		/// <param name="commandType">命令類型(存儲過程、文本等等)</param>
		/// <param name="commandText">存儲過程名或T-SQL語句</param>
		/// <param name="dataSet">要填充的數據集</param>
		/// <param name="tableNames">數據集中的表名</param>
		/// <param name="commandParameters">命令的參數</param>
		public static void FillDataSet(string connectionString, CommandType commandType,
			string commandText, DataSet dataSet, string[] tableNames,
			params SqlParameter[] commandParameters)
		{
			if( connectionString == null || connectionString.Length == 0 ) 
				throw new ArgumentNullException( "connectionString" );
			if( commandText == null || commandText.Length == 0 ) 
				throw new ArgumentNullException( "commandText" );
			if( dataSet == null )
				throw new ArgumentNullException( "dataSet" );

			using (SqlConnection connection = new SqlConnection(connectionString))
			{
				connection.Open();

				SqlCommand command = new SqlCommand();
				PrepareCommand(command,connection,commandType,commandText,commandParameters);

				SqlDataAdapter da = new SqlDataAdapter(command);
                //建立映射 (數據對應)if判斷可以省略
				if((tableNames != null)&&(tableNames.Length > 0))
				{
					string srcTableName = "Table";
					for(int i =0; i<tableNames.Length; i++)
					{
						da.TableMappings.Add(srcTableName, tableNames[i]);
						srcTableName = "Table" + (i+1).ToString();
					}
				}

				da.Fill(dataSet);

				connection.Close();
			}
		}
		#endregion

		#region UpdateDataSet
		/// <summary>
		/// 更新數據集
		/// </summary>
		/// <param name="insertCommand">插入命令對象</param>
		/// <param name="deleteCommand">刪除命令對象</param>
		/// <param name="updateCommand">更新命令對象</param>
		/// <param name="dataSet">用作更新數據源的數據集</param>
		/// <param name="tableName">用作更新數據源的數據表</param>
		public static void UpdateDataSet(SqlCommand insertCommand, SqlCommand deleteCommand, 
			SqlCommand updateCommand, DataSet dataSet, string tableName)
		{
			if( insertCommand == null ) throw new ArgumentNullException( "insertCommand" );
			if( deleteCommand == null ) throw new ArgumentNullException( "deleteCommand" );
			if( updateCommand == null ) throw new ArgumentNullException( "updateCommand" );
			if( tableName == null || tableName.Length == 0 ) throw new ArgumentNullException( "tableName" );

			using (SqlDataAdapter dataAdapter = new SqlDataAdapter())
			{
				dataAdapter.UpdateCommand = updateCommand;
				dataAdapter.InsertCommand = insertCommand;
				dataAdapter.DeleteCommand = deleteCommand;

				dataAdapter.Update (dataSet, tableName); 

				dataSet.AcceptChanges();
			}
		}
		#endregion
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
经典三级一区二区| 欧美在线观看一区二区| 色综合婷婷久久| 日韩美女一区二区三区四区| 亚洲人成网站影音先锋播放| 韩日av一区二区| 欧美色窝79yyyycom| 国产欧美精品一区二区三区四区 | 亚洲精品成人天堂一二三| 精品一区二区免费看| 欧美日韩国产免费| 亚洲另类春色国产| 99久久精品免费| 中文一区在线播放| 国产大陆亚洲精品国产| 欧美大片顶级少妇| 蜜桃视频一区二区| 91精品国产美女浴室洗澡无遮挡| 亚洲蜜臀av乱码久久精品蜜桃| 成人丝袜高跟foot| 国产日韩欧美高清| 国产成人综合视频| 国产色婷婷亚洲99精品小说| 国产最新精品精品你懂的| 欧美变态凌虐bdsm| 国模套图日韩精品一区二区 | 欧美午夜精品久久久| 中文字幕av一区二区三区| 国产不卡视频一区| 中文字幕中文字幕一区二区| 成人av在线播放网址| 亚洲欧洲av色图| 91在线播放网址| 亚洲精品高清在线观看| 欧美午夜不卡视频| 日韩精品国产精品| 日韩欧美国产麻豆| 国产在线精品不卡| 日本一区二区三区四区在线视频 | 欧美在线制服丝袜| 亚洲一区二区三区中文字幕| 欧美午夜精品一区| 美女网站在线免费欧美精品| 久久久久青草大香线综合精品| 国产成人在线视频网站| 国产精品久久久久影院老司 | 亚洲国产一二三| 337p亚洲精品色噜噜噜| 久久www免费人成看片高清| 欧美精品一区二区久久久| 国产精品一区二区在线观看不卡 | 91丝袜国产在线播放| 一区二区三区四区精品在线视频 | 色综合久久久久综合体| 亚洲成人av电影| 欧美xxxx在线观看| 成人国产精品免费观看动漫| 悠悠色在线精品| 精品少妇一区二区三区| 91免费视频观看| 午夜私人影院久久久久| 精品国产凹凸成av人网站| 91在线porny国产在线看| 奇米色一区二区三区四区| 久久久国产午夜精品| 欧美色倩网站大全免费| 国产一区久久久| 一区二区日韩电影| 国产午夜久久久久| 欧美日韩一区二区三区四区| 大尺度一区二区| 日韩av在线免费观看不卡| 国产精品二三区| 日韩精品综合一本久道在线视频| www.视频一区| 激情综合一区二区三区| 亚洲一区二区影院| 国产精品亲子伦对白| 精品免费99久久| 色狠狠综合天天综合综合| 国精产品一区一区三区mba桃花| 一区二区三区精品在线| 久久精品一区二区三区四区| 欧美午夜精品久久久久久孕妇| 国产成人综合亚洲91猫咪| 日日嗨av一区二区三区四区| 一色桃子久久精品亚洲| 欧美精品一区二区在线观看| 欧美电影在哪看比较好| 91无套直看片红桃| 国产不卡免费视频| 韩国av一区二区| 久久99热这里只有精品| 亚洲第一久久影院| 亚洲精品中文在线| 亚洲欧洲日韩在线| 国产精品久久午夜| 中文字幕av不卡| 国产日本亚洲高清| 久久蜜桃av一区精品变态类天堂| 日韩欧美的一区二区| 欧美精品亚洲一区二区在线播放| 91亚洲国产成人精品一区二区三| 国产99精品视频| 国产精品99久久久久久宅男| 久久aⅴ国产欧美74aaa| 久久99蜜桃精品| 久久精品国产99国产| 捆绑变态av一区二区三区| 三级在线观看一区二区| 午夜精品免费在线观看| 午夜精品久久久| 日本中文在线一区| 久久99精品国产| 国产一区二区三区电影在线观看| 国内一区二区在线| 成人网在线免费视频| yourporn久久国产精品| 日本丰满少妇一区二区三区| 色婷婷av一区二区三区gif| 色网站国产精品| 91官网在线免费观看| 欧美日韩一区在线观看| 8v天堂国产在线一区二区| 欧美一区日韩一区| 精品美女一区二区三区| 国产日韩精品一区二区浪潮av| 国产精品超碰97尤物18| 一区二区三区高清| 青青草视频一区| 国产精品亚洲成人| 色综合久久综合| 337p亚洲精品色噜噜狠狠| 2020国产精品| 亚洲黄色免费网站| 日本成人中文字幕在线视频| 国产永久精品大片wwwapp| 成人高清在线视频| 欧美三级日韩三级国产三级| 日韩精品中文字幕一区| 日本一区二区免费在线| 亚洲国产精品一区二区www| 男男成人高潮片免费网站| 国产精品18久久久久久vr| 91麻豆高清视频| 91精品一区二区三区久久久久久 | 日本视频免费一区| 国产91清纯白嫩初高中在线观看| 91福利视频久久久久| 精品久久一区二区三区| 日韩伦理av电影| 精品在线播放午夜| 色成人在线视频| 欧美xxxx在线观看| 亚洲一二三区视频在线观看| 国产精品资源网站| 在线免费视频一区二区| 久久久久久久久一| 亚洲第一主播视频| 91在线国产福利| 精品国产精品一区二区夜夜嗨| 亚洲欧美电影一区二区| 狠狠色丁香久久婷婷综| 欧美日韩精品综合在线| 中文字幕在线观看一区二区| 久草这里只有精品视频| 欧美精品久久一区二区三区| 亚洲三级在线免费| 国产a视频精品免费观看| 日韩欧美一区在线观看| 亚洲香肠在线观看| 一本色道**综合亚洲精品蜜桃冫| 久久一夜天堂av一区二区三区| 亚洲国产日韩在线一区模特| 不卡的av在线| 国产日本欧洲亚洲| 国产精品一区一区| 久久影院午夜片一区| 麻豆91在线播放免费| 欧美日韩一区二区三区免费看| 中文字幕制服丝袜成人av| 国产福利一区在线| 亚洲精品一区二区在线观看| 日韩成人一区二区三区在线观看| 色噜噜狠狠成人网p站| 中文字幕亚洲不卡| 成人美女在线观看| 国产精品三级av| 国产成人高清视频| 久久免费偷拍视频| 国产69精品久久久久毛片| 久久这里都是精品| 国产东北露脸精品视频| 欧美国产日韩亚洲一区| 不卡一区在线观看| 中文字幕中文字幕一区| 一本大道久久a久久精二百| 亚洲视频电影在线| 91国在线观看| 亚洲高清视频的网址|