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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? commonservice.cs

?? 企業(yè)管理信息化之財(cái)務(wù)管理系統(tǒng)
?? CS
?? 第 1 頁 / 共 4 頁
字號(hào):
					}
					else if(DataTypes[i]=="short")
					{
						types[i+1] = typeof(short);
					}
					else if(DataTypes[i]=="bool")
					{
						types[i+1] = typeof(bool);
					}
					else if(DataTypes[i]=="decimal")
					{
						types[i+1] = typeof(decimal);
					}
					else if(DataTypes[i]=="double")
					{
						types[i+1] = typeof(double);
					}
					else if(DataTypes[i]=="DateTime")
					{
						types[i+1] = typeof(DateTime);
					}
					else
					{
						return null;
					}
				}
				return types;
			}
			catch(Exception e)
			{
				LogService.Write("public static Type[] ConvertDataType(SqlConnection SqlCn, string[] DataTypes)");
				LogService.Write(e.Message);
				return null;
			}
		}
		/// **************************************************************************
		/// END
		/// **************************************************************************





		/// **************************************************************************
		/// BEIGIN
		/// <summary>
		/// 根據(jù)不同的刪除方法進(jìn)行不同的調(diào)用,對(duì)選中的數(shù)據(jù)進(jìn)行刪除(三期新版本)
		/// </summary>
		/// <param name="thePage">調(diào)用此方法的頁面對(duì)象</param>
		/// <param name="theDG">存儲(chǔ)數(shù)據(jù)的DataGrid控件對(duì)象</param>
		/// <param name="sql">刪除之后重新綁定數(shù)據(jù)時(shí)所用的SQL語句,用ViewState["sql"].ToString()作為參數(shù)即可</param>
		/// <param name="SessionName">用于和服務(wù)器進(jìn)行交互的Session名稱,建議使用"Data"和"Data1"兩者中的一個(gè)</param>
		/// <param name="CheckBoxName">存儲(chǔ)選中標(biāo)志的CheckBox控件的ID</param>
		/// <param name="DataTypes">主關(guān)鍵字列表的數(shù)據(jù)類型組成的字符型數(shù)組,一定要按刪除方法的參數(shù)的先后順序排列</param>
		/// <param name="Pk">存儲(chǔ)主關(guān)鍵字的Hidden控件對(duì)象名組成的字符型數(shù)組,一定要按刪除方法的參數(shù)的先后順序排列</param>
		/// <param name="ClassName">定義刪除方法的類名稱(需要給出完整路徑)</param>
		/// <param name="MethodName">刪除方法的名稱</param>
		/// <param name="ErrorMessage">出錯(cuò)信息文本</param>
		/// <returns>布爾型返回值,成功執(zhí)行返回true,發(fā)生錯(cuò)誤返回false</returns>
		/// **************************************************************************
		public static bool DelSelectRecord(	System.Web.UI.Page thePage, 
											System.Web.UI.WebControls.DataGrid theDG, 
											string sql, 
											string SessionName, 
											string CheckBoxName, 
											string[] DataTypes, 
											string[] Pk, 
											string ClassName,
											string MethodName,
											string ErrorMessage)
		{
			//獲取當(dāng)前的流程ID(FlowId)
			string FlowId = "";

			//打開數(shù)據(jù)庫連接
			SqlConnection SqlCn = new SqlConnection (com.unicafe.common.Configuration.GetDBConnectionString());
			SqlCn.Open();
			SqlCommand cmd = SqlCn.CreateCommand();

			try
			{
				//開始事務(wù)
				SqlTransaction SqlTrans = SqlCn.BeginTransaction();
				cmd.Transaction = SqlTrans;

				//聲明存儲(chǔ)主關(guān)鍵字的變量
				object[] obj = new object[DataTypes.Length];
	
				//對(duì)本頁上DataGrid的所有行進(jìn)行遍歷
				for (int i=0; i<theDG.Items.Count; i++)
				{
					//將當(dāng)前行賦值給一個(gè)DataGridItem對(duì)象
					DataGridItem _item = theDG.Items[i];

					//判斷當(dāng)前行上的CheckBox控件賦值給一個(gè)CheckBox對(duì)象
					CheckBox CheckFlag = (CheckBox)_item.FindControl(CheckBoxName);   

					//判斷當(dāng)前行上的復(fù)選框是否被選中,如果被選中則進(jìn)行刪除處理,否則不予處理
					if(CheckFlag.Checked == true)
					{
						//獲取關(guān)鍵字的值,逐個(gè)加入對(duì)象數(shù)組obj
						for (int j=0; j<Pk.Length; j++)
						{
							obj[j] = ((System.Web.UI.HtmlControls.HtmlInputHidden)_item.FindControl(Pk[j].ToString())).Value;     //取各項(xiàng)主關(guān)鍵字
						}

						//調(diào)用刪除方法進(jìn)行刪除處理,如果沒有成功刪除則回滾事務(wù)并打開錯(cuò)誤提示頁面
						if(Reflection(ClassName, MethodName, DataTypes, obj, cmd) == false)
						{
							SqlTrans.Rollback();

							//打開錯(cuò)誤信息提示頁面
							Prompt.PromptError(thePage, ErrorMessage);
							return false;
						}
					}
				}
				
				//提交數(shù)據(jù)庫修改
				SqlTrans.Commit();

				//重新綁定DataGrid控件
				if(CommonService.BindDataGrid(thePage,sql,theDG,SessionName,true) == false)
				{
					//打開錯(cuò)誤信息提示頁面
					Prompt.PromptError(thePage, "已經(jīng)成功刪除選定的數(shù)據(jù),但在重新綁定數(shù)據(jù)時(shí)發(fā)生錯(cuò)誤。");
					return false;
				}
				else
				{
					//判斷此記錄是否在某工作流中
					FlowId = thePage.Request.QueryString["flowid"];
					//LogService.Write("現(xiàn)在要?jiǎng)h除的流程ID:" + FlowId);
					if (FlowId != null)
					{
						WorkflowMgr wMgr = new WorkflowMgr();
						wMgr.DelMessage(FlowId);
						thePage.Response.Write("<script>");
						thePage.Response.Write("window.parent.refreshOpener();");
						thePage.Response.Write("window.parent.close();");
						thePage.Response.Write("</script>");
					}
				}
				return true;
			}
			catch(Exception e)
			{
				//打開錯(cuò)誤信息提示頁面
				Prompt.PromptError(thePage, ErrorMessage);
				LogService.Write(e.Message);
				return false;
			}
			finally
			{
				SqlCn.Close();
			}
		}
		/// **************************************************************************
		/// END
		/// **************************************************************************





		/// **************************************************************************
		/// BEIGIN
		/// <summary>
		/// 根據(jù)不同的情況調(diào)用不同的刪除方法(三期新版本)
		/// </summary>
		/// <param name="ClassName">定義該刪除方法的類名</param>
		/// <param name="MethodName">刪除方法名</param>
		/// <param name="DataType">主關(guān)鍵字字段數(shù)據(jù)類型組成的數(shù)組</param>
		/// <param name="pk">主關(guān)鍵字字段組成的數(shù)組</param>
		/// <param name="SqlCmd">SqlCommand對(duì)象</param>
		/// <returns>布爾型返回值,成功執(zhí)行返回true,發(fā)生錯(cuò)誤返回false</returns>
		/// **************************************************************************
		public static bool Reflection(string ClassName, string MethodName, string[] DataTypes, object[] pk, SqlCommand SqlCmd)
		{
			//刪除SqlCommand對(duì)象的所有參數(shù)
			SqlCmd.Parameters.Clear();

			try
			{
				Assembly[] asm = AppDomain.CurrentDomain.GetAssemblies();
				Type t=null;
				int i=0;
				do
				{
					t = asm[i].GetType(ClassName);
					i++;
				} while (t == null && i<asm.Length);

				object obj = Activator.CreateInstance(t);
 
				//將傳入的數(shù)據(jù)類型字符串轉(zhuǎn)化為數(shù)據(jù)類型數(shù)組
				Type[] types = ConvertDataType(SqlCmd, DataTypes);
				//根據(jù)方法名和數(shù)據(jù)類型數(shù)組獲取方法
				MethodInfo m = t.GetMethod(MethodName,types);
				//根據(jù)數(shù)據(jù)類型轉(zhuǎn)化數(shù)據(jù)
				object[] aryObj = ConvertData(SqlCmd, DataTypes, pk); 
				//如果轉(zhuǎn)化成功則調(diào)用查找到的方法執(zhí)行
				if (aryObj == null)
				{
					LogService.Write("public static bool reflection(string ClassName, string MethodName, string[] DataType, object[] pk)");
					LogService.Write("對(duì)主關(guān)鍵字進(jìn)行特定數(shù)據(jù)類型轉(zhuǎn)換的操作不成功。");
					return false;
				}
				else
				{
					object result = m.Invoke(obj,aryObj);
					return (bool)result;
				}
			}
			catch(Exception e)
			{
				LogService.Write("public static bool Reflection(string ClassName, string MethodName, string[] DataTypes, object[] pk)");
				LogService.Write("反射函數(shù)執(zhí)行失敗。ClassName:" + ClassName + "; MethodName:" + MethodName);
				LogService.Write(e.Message);
				return false;
			}
		}
		/// **************************************************************************
		/// END
		/// **************************************************************************




		
		/// **************************************************************************
		/// BEIGIN
		/// <summary>
		/// 將對(duì)象數(shù)組按照給定的數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換(三期新版本)
		/// </summary>
		/// <param name="SqlCmd">SqlCommand對(duì)象</param>
		/// <param name="DataType">對(duì)象數(shù)組對(duì)應(yīng)的數(shù)據(jù)類型數(shù)組</param>
		/// <param name="pk">主關(guān)鍵字字段組成的數(shù)組</param>
		/// <returns>返回轉(zhuǎn)化后的對(duì)象數(shù)組</returns>
		/// **************************************************************************
		public static object[] ConvertData(SqlCommand SqlCmd, string[] DataType, object[] pk)
		{
			try
			{
				object[] obj = new object[DataType.Length + 1];
				obj[0] = SqlCmd;

				for(int i=0; i<DataType.Length; i++)
				{
					if (DataType[i].ToLower() == "int")				//整型
					{
						obj[i+1] = int.Parse(pk[i].ToString());
					}
					else if(DataType[i].ToLower() == "double")		//雙精度浮點(diǎn)型
					{
						obj[i+1] = double.Parse(pk[i].ToString());
					}
					else if(DataType[i].ToLower() == "datetime")	//日期型
					{
						obj[i+1] = System.DateTime.Parse(pk[i].ToString());
					}
					else if(DataType[i].ToLower() == "float")		//單精度浮點(diǎn)型
					{
						obj[i+1] = float.Parse(pk[i].ToString());
					}
					else if(DataType[i].ToLower() == "decimal")		//十進(jìn)制小數(shù)型
					{
						obj[i+1] = decimal.Parse(pk[i].ToString());
					}
					else if(DataType[i].ToLower() == "long")		//長(zhǎng)整型
					{
						obj[i+1] = long.Parse(pk[i].ToString());
					}
					else if(DataType[i].ToLower() == "short")		//短整型
					{
						obj[i+1] = short.Parse(pk[i].ToString());
					}					
					else if(DataType[i].ToLower() == "bool")		//布爾型
					{
						obj[i+1] = bool.Parse(pk[i].ToString());
					}					
					else											//不處理
					{
						obj[i+1] = pk[i].ToString();
					}
				}
				return obj;
			}
			catch(Exception e)
			{
				LogService.Write("public static void ConvertDataType(SqlConnection SqlCmd, string[] DataType, object[] pk)");
				LogService.Write(e.Message);
				return null;
			}

		}
		/// **************************************************************************
		/// END
		/// **************************************************************************
		 

		


		/// **************************************************************************
		/// BEIGIN
		/// <summary>
		/// 將數(shù)據(jù)類型名稱數(shù)組轉(zhuǎn)化為數(shù)據(jù)類型數(shù)組(三期新版本)
		/// </summary>
		/// <param name="SqlCmd">SqlCommand對(duì)象</param>
		/// <param name="DataTypes">數(shù)據(jù)類型名稱數(shù)組</param>
		/// <returns></returns>
		/// **************************************************************************
		public static Type[] ConvertDataType(SqlCommand SqlCmd, string[] DataTypes)
		{
			try
			{
				Type[] types = new Type[DataTypes.Length + 1];
				types[0] = typeof(SqlCommand);
				for(int i=0; i<DataTypes.Length; i++)
				{
					if(DataTypes[i]=="int")
					{
						types[i+1] = typeof(int);
					}
					else if(DataTypes[i]=="string")
					{
						types[i+1] = typeof(string);
					}
					else if(DataTypes[i]=="float")
					{
						types[i+1] = typeof(float);
					}
					else if(DataTypes[i]=="long")
					{
						types[i+1] = typeof(long);
					}
					else if(DataTypes[i]=="short")
					{
						types[i+1] = typeof(short);
					}
					else if(DataTypes[i]=="bool")
					{
						types[i+1] = typeof(bool);
					}
					else if(DataTypes[i]=="decimal")
					{
						types[i+1] = typeof(decimal);
					}
					else if(DataTypes[i]=="double")
					{
						types[i+1] = typeof(double);
					}
					else if(DataTypes[i]=="DateTime")
					{
						types[i+1] = typeof(DateTime);
					}
					else
					{
						return null;
					}
				}
				return types;
			}
			catch(Exception e)
			{
				LogService.Write("public static Type[] ConvertDataType(SqlCommand SqlCmd, string[] DataTypes)");
				LogService.Write(e.Message);
				return null;
			}
		}
		/// **************************************************************************
		/// END
		/// **************************************************************************























		//---------------------------------------------------------------------------------------------------------------------------
		//---------------------------------------------------------------------------------------------------------------------------
		//以下是對(duì)子窗口的處理方法集
		//---------------------------------------------------------------------------------------------------------------------------
		//---------------------------------------------------------------------------------------------------------------------------



		/// **************************************************************************
		/// BEIGIN
		/// <summary>
		/// 通過父頁面的URL獲得主關(guān)鍵字
		/// </summary>
		/// <param name="thePage">調(diào)用此方法的Web頁面對(duì)象</param>
		/// <returns>主關(guān)鍵字?jǐn)?shù)組</returns>
		/// **************************************************************************
		public static string[] GetPks(System.Web.UI.Page thePage)
		{
			//獲得父頁面的完整URL并通過“|”進(jìn)行分解
			string[] pks = thePage.Request.QueryString["ParentURL"].Split('|');
			//將分解后的字符串進(jìn)行處理,獲得主關(guān)鍵字?jǐn)?shù)組
			for (int i=0; i<pks.Length; i++)
			{
				pks[i] = pks[i].Substring(pks[i].LastIndexOf("=") + 1);
			}
			return pks;
		}
		/// **************************************************************************
		/// END
		/// **************************************************************************




?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩1区2区| 免费人成黄页网站在线一区二区| 国产喷白浆一区二区三区| 欧美不卡一区二区三区| 日韩精品一区二区三区视频播放 | 国产精品色婷婷久久58| 久久在线观看免费| 国产午夜精品一区二区| ww久久中文字幕| 国产亚洲欧美在线| 国产精品久久久久婷婷| 中文字幕亚洲不卡| 亚洲精品少妇30p| 偷拍一区二区三区| 久久69国产一区二区蜜臀| 精品一区二区免费看| 国产盗摄一区二区| 99天天综合性| 欧美性感一区二区三区| 欧美日韩不卡一区二区| 精品久久久久久综合日本欧美| 日韩视频一区二区| 国产欧美日韩综合| 亚洲激情校园春色| 天天免费综合色| 国模无码大尺度一区二区三区| 成人性视频网站| 欧美在线看片a免费观看| 欧美一级艳片视频免费观看| 精品电影一区二区| 亚洲天堂久久久久久久| 午夜久久久久久| 国模套图日韩精品一区二区| 不卡一卡二卡三乱码免费网站| 色美美综合视频| 欧美一区二区二区| 中文字幕av资源一区| 亚洲永久精品大片| 国产在线麻豆精品观看| 91日韩精品一区| 日韩精品一区二区三区三区免费 | 一区二区成人在线| 免费在线观看不卡| 懂色av一区二区三区免费观看| 在线日韩国产精品| 精品国产免费人成在线观看| 国产精品久久久99| 免费欧美高清视频| 91污片在线观看| 日韩精品一区二区三区四区| 亚洲欧美怡红院| 九色porny丨国产精品| 色综合天天在线| 欧美videos中文字幕| 亚洲精品国产a| 国产精品66部| 欧美日韩精品一区二区天天拍小说 | 欧美精品亚洲二区| 亚洲国产精品av| 蜜臀av一区二区在线免费观看| a美女胸又www黄视频久久| 日韩女同互慰一区二区| 亚洲免费电影在线| 国产成人av一区二区三区在线观看| 欧美在线|欧美| 国产视频在线观看一区二区三区| 日日夜夜免费精品视频| 99在线精品视频| 久久久久久久久岛国免费| 天天爽夜夜爽夜夜爽精品视频 | 欧美激情在线免费观看| 老司机精品视频在线| 欧美色视频在线观看| 亚洲国产精品精华液2区45| 老色鬼精品视频在线观看播放| 在线视频综合导航| 亚洲婷婷综合久久一本伊一区| 国产高清亚洲一区| 亚洲精品一区二区三区在线观看 | 美腿丝袜亚洲综合| 欧美高清视频www夜色资源网| 亚洲精品日韩一| 99v久久综合狠狠综合久久| 日本一区二区三区在线观看| 久久99这里只有精品| 欧美一区二区不卡视频| 日韩综合在线视频| 欧美色爱综合网| 亚洲国产日韩精品| 色婷婷国产精品| 亚洲天堂免费看| 99精品在线观看视频| 国产精品久久久99| av在线播放成人| 中文字幕中文在线不卡住| 成人精品在线视频观看| 欧美国产综合色视频| 懂色av中文一区二区三区| 国产亚洲精久久久久久| 国产精品1区2区3区| 国产亚洲人成网站| 丰满少妇久久久久久久| 国产精品色噜噜| 97久久久精品综合88久久| 日韩一区中文字幕| 91黄色免费版| 天堂成人国产精品一区| 欧美精品高清视频| 日本成人中文字幕在线视频| 欧美一区二区免费| 国产在线精品免费| 中文字幕不卡在线观看| 91网站最新地址| 亚洲成人福利片| 精品少妇一区二区三区在线播放 | 在线不卡一区二区| 强制捆绑调教一区二区| 精品国产亚洲一区二区三区在线观看| 国产一区视频网站| 国产精品国产精品国产专区不片 | 亚洲欧美韩国综合色| 欧美中文字幕一二三区视频| 三级久久三级久久久| 精品国产伦一区二区三区观看方式| 国产一区二区三区黄视频| 国产精品久久久久久久久果冻传媒 | 欧美a一区二区| 久久精品一区四区| av男人天堂一区| 丝袜诱惑亚洲看片| 26uuu成人网一区二区三区| 成人永久aaa| 亚洲制服欧美中文字幕中文字幕| 欧美高清视频不卡网| 国产精品乡下勾搭老头1| 亚洲青青青在线视频| 56国语精品自产拍在线观看| 国产一区二区三区四区五区美女| 综合中文字幕亚洲| 欧美一区二区在线视频| 国产成人精品影视| 一区二区三区毛片| 久久综合丝袜日本网| 色综合久久中文综合久久牛| 婷婷综合久久一区二区三区| 精品av久久707| 色婷婷精品久久二区二区蜜臀av | 91亚洲永久精品| 美女诱惑一区二区| 亚洲欧洲精品一区二区精品久久久| 欧美日韩一区 二区 三区 久久精品 | 国产成人日日夜夜| 亚洲成人精品影院| 国产日产欧美一区二区视频| 欧美日韩精品一区二区三区四区 | 国产一区二区日韩精品| 亚洲最色的网站| 久久麻豆一区二区| 欧美日韩一区小说| 成av人片一区二区| 久久99国产精品免费| 亚洲午夜视频在线| 国产精品乱子久久久久| 欧美大片一区二区三区| 色综合久久久网| 国产成人午夜精品影院观看视频| 亚洲第一会所有码转帖| 国产精品久久毛片av大全日韩| 日韩女优电影在线观看| 在线观看视频一区二区| 国产不卡视频在线播放| 日韩av中文字幕一区二区| 亚洲精品成人天堂一二三| 国产欧美日韩视频在线观看| 欧美一区二区三区色| 一本大道久久a久久精品综合| 国产一区在线不卡| 蜜芽一区二区三区| 亚洲综合视频在线观看| 中文字幕在线不卡| 久久久久久电影| 精品噜噜噜噜久久久久久久久试看| 在线观看国产日韩| 91免费版在线看| 成人三级在线视频| 国产大陆a不卡| 国产精品影音先锋| 美女视频黄频大全不卡视频在线播放| 亚洲小少妇裸体bbw| 亚洲蜜臀av乱码久久精品| 国产目拍亚洲精品99久久精品| 日韩精品专区在线影院观看| 69堂精品视频| 欧美日韩性生活| 欧美色国产精品| 欧美日韩激情一区二区三区| 在线观看日韩电影| 欧美三级电影一区| 欧美日韩精品一区视频| 欧美四级电影在线观看|