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

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

?? entityservice.cs

?? 實現(xiàn)數(shù)據(jù)庫中實體到類的動態(tài)映射,通過映射可方便的實現(xiàn)數(shù)據(jù)庫記錄的增刪改查等操作.
?? CS
字號:
using System;
using System.Xml;
using System.Collections;
using System.Data;

namespace EntityMapping
{
	/// <summary>
	/// EntityMapping 的摘要說明。
	/// </summary>
	public class EntityService
	{
		private EntityMapping.Entity ent_ReturnEntity = new Entity();
		private DataAccessObject dao_Temp;
		private EntityMapping.EntitySet eSet = new EntitySet();
		/// <summary>
		/// 獲取數(shù)據(jù)訪問對象
		/// </summary>
		public EntityService()
		{
			try
			{
				if(this.dao_Temp == null)
				{
					System.Xml.XmlDocument xml_Doc = new XmlDocument();
					//加載XML文件到文檔對象中
					xml_Doc.Load("d:\\MapConfig.xml");
					//獲取相應的鏈接字符串
					System.Xml.XmlNodeList xmlNS= xml_Doc.GetElementsByTagName("DataLink");

					string str_Con =xmlNS.Item(0).ChildNodes[0].Attributes["Link"].Value.ToString();
					this.dao_Temp = new DataAccessObject(EntityMapping.DataType.Oracle,str_Con);
				}
			}
			catch(Exception exp)
			{
				throw new Exception(exp.ToString());
			}
			//
			// TODO: 在此處添加構(gòu)造函數(shù)邏輯
			//
		}
		/// <summary>
		/// 根據(jù)實體信息,查詢相應字段信息
		/// </summary>
		/// <param name="ent_Temp">實體</param>
		/// <returns>返回查詢得到的實體</returns>
		public Entity GetEntity(Entity ent_Temp)
		{
			string str_Sql = "Select * from " + ent_Temp.TableName ;
			if(ent_Temp.Attribute.Count > 0)
			{
				str_Sql = str_Sql + " where ";
				IDictionaryEnumerator de_Temp = ent_Temp.Attribute.GetEnumerator();
				//遍歷整個實體的屬性,以組合成相應的查詢語句
				while(de_Temp.MoveNext())
				{
						str_Sql = str_Sql + " " + de_Temp.Key.ToString() + de_Temp.Value.ToString();
				}
			}

			this.GetEntityBySql(str_Sql);

			return null;
		}
		/// <summary>
		/// 根據(jù)SQL語句查詢實體
		/// </summary>
		/// <param name="str_Sql">Sql語句</param>
		/// <returns>返回查詢得到的實體</returns>
		public Entity GetEntityBySql(string str_Sql)
		{
			DataSet ds_Temp = new  DataSet();

			try
			{
				ds_Temp = this.dao_Temp.QueryBySql(str_Sql);
			}
			catch(Exception exp)
			{
				throw new Exception(exp.ToString());
			}
			if(ds_Temp.Tables[0].Rows.Count > 0)
			ent_ReturnEntity.FillData(ds_Temp.Tables[0],0);
			
			return ent_ReturnEntity;
		}
		/// <summary>
		/// 查詢得到實體集
		/// </summary>
		/// <param name="str_Sql">查詢的SQL語句</param>
		/// <returns>返回查詢結(jié)果的實體集合</returns>
		public EntitySet GetEntitySetBySql(string str_Sql)
		{
			DataSet ds_Temp = new  DataSet();

			try
			{
				ds_Temp = this.dao_Temp.QueryBySql(str_Sql);
			}
			catch(Exception exp)
			{
				throw new Exception(exp.ToString());
			}
			this.eSet.DataSource = ds_Temp;
			this.eSet.MappingTableName = ds_Temp.Tables[0].TableName;
			
			return eSet;
			
		}

		/// <summary>
		/// 根據(jù)實體信息生成SQL語句查詢獲得實體集合
		/// </summary>
		/// <param name="ent_Temp"></param>
		/// <returns></returns>
		public EntitySet GetEntitySet(Entity ent_Temp)
		{
			string str_Sql = "Select * from " + ent_Temp.TableName ;
			if(ent_Temp.Attribute.Count > 0)
			{
				str_Sql = str_Sql + " where ";
				IDictionaryEnumerator de_Temp = ent_Temp.Attribute.GetEnumerator();
			
				while(de_Temp.MoveNext())
				{
					str_Sql = str_Sql + " " + de_Temp.Key.ToString() + de_Temp.Value.ToString();
					
				}
			}
			return GetEntitySetBySql(str_Sql);
			
		}

		/// <summary>
		/// 插入一個新的實體數(shù)據(jù)到數(shù)據(jù)庫
		/// </summary>
		/// <param name="ent_Temp">要插入的實體數(shù)據(jù)</param>
		/// <returns>返回受影響記錄的條數(shù)</returns>
		public int InsertNewEntity(Entity ent_Temp)
		{
			string str_Sql = "insert into " + ent_Temp.TableName ;
			if(ent_Temp.Attribute.Count > 0)
			{
				str_Sql = str_Sql + " ";
				IDictionaryEnumerator de_Temp = ent_Temp.Attribute.GetEnumerator();
				string Field = "(" ,Value = "(";
				while(de_Temp.MoveNext())
				{
					Field =  Field + de_Temp.Key.ToString() + ",";
					Value = Value +  de_Temp.Value.ToString() + ",";
				}
				Field = Field.Substring(0,Field.LastIndexOf(","));
				Value = Value.Substring(0,Value.LastIndexOf(","));

				Field = Field + ")";
				Value = Value + ")";
				str_Sql = str_Sql + Field + " values" + Value;
			}
			
			this.ExcuteBySql(str_Sql);
			return 0;
		}
		
		/// <summary>
		/// 更新一個實體
		/// </summary>
		/// <param name="ent_Temp">更新的實體內(nèi)容</param>
		/// <returns>返回受影響記錄的條數(shù)</returns>
		public int UpdateEntity(Entity ent_Temp)
		{
			string str_Sql = "Update " + ent_Temp.TableName ;
			string str_Where = "where 1=1 " ;
			if(this.dao_Temp.DBType == EntityMapping.DataType.Oracle)
			{
				string str_PK = "select col.column_name from user_constraints con,  user_cons_columns col"
					+ " where con.constraint_name = col.constraint_name and con.constraint_type='P'" 
					+ " and col.table_name ='" + ent_Temp.TableName.ToUpper() + "'";
				System.Data.DataSet ds_Temp = this.dao_Temp.QueryBySql(str_PK);
				if(ds_Temp.Tables[0].Rows.Count > 0)
				{
					for(int i = 0 ; i < ds_Temp.Tables[0].Rows.Count ; i++)
					{
						str_PK = ds_Temp.Tables[0].Rows[0]["column_name"].ToString();
						
						if((!ent_Temp.Attribute.ContainsKey(str_PK)) & (ent_Temp.Attribute[str_PK] == null))
						{
							throw new Exception("更新記錄時,必須指明主鍵字段的值");
						}
						else
						{
							str_Where = str_Where + " and " +  str_PK + "=" + ent_Temp.Attribute[str_PK];
							ent_Temp.Attribute.Remove(str_PK);
						}
						
					}
				}
			}

			if(ent_Temp.Attribute.Count > 0)
			{
				str_Sql = str_Sql + " ";
				IDictionaryEnumerator de_Temp = ent_Temp.Attribute.GetEnumerator();
				str_Sql = str_Sql + "set ";
				while(de_Temp.MoveNext())
				{

					str_Sql = str_Sql + de_Temp.Key.ToString() + "="  + de_Temp.Value.ToString();
				}
				
			}
			
			str_Sql = str_Sql + " " + str_Where;
			
			return this.ExcuteBySql(str_Sql);

			
		}
		
		/// <summary>
		/// 根據(jù)SQL語句向數(shù)據(jù)庫中操作數(shù)據(jù)
		/// </summary>
		/// <param name="str_Sql">SQL語句</param>
		/// <returns>返回受影響的記錄條數(shù)</returns>
		public int ExcuteBySql(string str_Sql)
		{
			
			return this.dao_Temp.ExcuteBySql(str_Sql);
		}

		/// <summary>
		/// 從數(shù)據(jù)庫中刪除實體數(shù)據(jù)
		/// </summary>
		/// <param name="ent_Temp">刪除的實體數(shù)據(jù)</param>
		/// <returns>返回受影響的記錄條數(shù)</returns>
		public int DeleteEntity(Entity ent_Temp)
		{
			string str_Sql = "delete " + ent_Temp.TableName ;
			string str_Where = "where 1=1 " ;
			if(this.dao_Temp.DBType == EntityMapping.DataType.Oracle)
			{
				string str_PK = "select col.column_name from user_constraints con,  user_cons_columns col"
					+ " where con.constraint_name = col.constraint_name and con.constraint_type='P'" 
					+ " and col.table_name ='" + ent_Temp.TableName.ToUpper() + "'";
				System.Data.DataSet ds_Temp = this.dao_Temp.QueryBySql(str_PK);
				if(ds_Temp.Tables[0].Rows.Count > 0)
				{
					for(int i = 0 ; i < ds_Temp.Tables[0].Rows.Count ; i++)
					{
						str_PK = ds_Temp.Tables[0].Rows[0]["column_name"].ToString();
						
						if((!ent_Temp.Attribute.ContainsKey(str_PK)) & (ent_Temp.Attribute[str_PK] == null))
						{
							throw new Exception("刪除記錄時,必須指明主鍵字段的值");
						}
						else
						{
							str_Where = str_Where + " and " +  str_PK + "=" + ent_Temp.Attribute[str_PK];
							ent_Temp.Attribute.Remove(str_PK);
						}
						
					}
				}
			}
			str_Sql = str_Sql + " " + str_Where;
			return this.ExcuteBySql(str_Sql);
		}
//		/// <summary>
//		/// 刪除記錄集合(從數(shù)據(jù)庫中刪除多條記錄)
//		/// </summary>
//		/// <param name="entSet">實體集合</param>
//		/// <returns>返回受影響的記錄的條數(shù)</returns>
//		public int DeleteEntitySet(EntitySet entSet)
//		{
//			return 0;
//		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色图在线播放| 欧美激情在线观看视频免费| 国产毛片精品视频| 一区二区三区国产豹纹内裤在线| 日韩午夜小视频| 在线观看视频一区二区 | 久久国产精品色| 亚洲日本一区二区| 久久久久久一级片| 欧美一级日韩不卡播放免费| 91一区在线观看| 国产老肥熟一区二区三区| 亚洲va韩国va欧美va精品| 国产精品国产精品国产专区不蜜| 2023国产精品视频| 91.com在线观看| 一本在线高清不卡dvd| 国产激情视频一区二区三区欧美| 日产国产欧美视频一区精品| 亚洲黄色在线视频| 18成人在线视频| 国产人成亚洲第一网站在线播放| 欧美一区二区精品| 欧美三级三级三级爽爽爽| 成人av在线资源网| 成人妖精视频yjsp地址| 极品美女销魂一区二区三区 | 精品入口麻豆88视频| 欧美另类变人与禽xxxxx| 91成人免费在线| 在线观看日韩高清av| 91麻豆免费视频| 色综合网站在线| 91小宝寻花一区二区三区| 日本欧美肥老太交大片| 亚洲mv大片欧洲mv大片精品| 亚洲午夜精品17c| 性做久久久久久| 亚洲精品第1页| 亚洲三级电影全部在线观看高清| 久久久精品蜜桃| 久久综合色综合88| 欧美一卡二卡在线| 91一区二区在线| 国产成人自拍网| 国精产品一区一区三区mba视频| 污片在线观看一区二区| 亚洲国产精品精华液网站| 亚洲免费在线观看视频| 亚洲少妇中出一区| 亚洲精品欧美激情| 亚洲va欧美va天堂v国产综合| 爽好多水快深点欧美视频| 日韩和欧美一区二区三区| 久久国产婷婷国产香蕉| 国产精品一卡二卡| 99久久99精品久久久久久| 欧美性大战久久久久久久| 这里只有精品电影| 久久久久一区二区三区四区| 亚洲国产成人私人影院tom| 18成人在线观看| 亚洲成人高清在线| 狠狠色丁香久久婷婷综| 高清成人在线观看| 91麻豆视频网站| 91精品在线麻豆| 久久久精品蜜桃| 亚洲精品美国一| 人人狠狠综合久久亚洲| 国产成人在线观看免费网站| 99久久精品国产导航| 精品视频一区二区三区免费| 日韩女优av电影在线观看| 国产欧美日韩三区| 亚洲午夜精品17c| 国产乱妇无码大片在线观看| 色婷婷av一区二区三区大白胸| 717成人午夜免费福利电影| 国产日韩欧美综合在线| 一区二区三区视频在线观看 | 97超碰欧美中文字幕| 欧美日本国产视频| 中文字幕精品一区二区精品绿巨人| 日韩毛片在线免费观看| 日本午夜精品视频在线观看 | 国产精品不卡视频| 亚洲v精品v日韩v欧美v专区| 国产精品综合二区| 欧美日韩中文精品| 国产精品国产馆在线真实露脸 | 成人精品视频一区| 欧美三级视频在线观看| 久久久久久久综合色一本| 亚洲r级在线视频| 成人va在线观看| 欧美zozozo| 亚洲国产精品久久艾草纯爱| 国产91对白在线观看九色| 欧美喷水一区二区| 亚洲色图欧洲色图| 国产九色sp调教91| 欧美一区二区免费观在线| 亚洲日本青草视频在线怡红院| 韩国三级在线一区| 欧美高清激情brazzers| 亚洲欧美在线视频观看| 国产曰批免费观看久久久| 欧美精品久久久久久久多人混战| 国产精品久久久久一区二区三区共| 日本亚洲最大的色成网站www| 91蝌蚪porny成人天涯| 亚洲国产高清在线| 国产精品一品视频| 精品国产一区二区三区忘忧草| 日日夜夜免费精品| 在线观看中文字幕不卡| 亚洲图片激情小说| 成人黄页毛片网站| 国产日产欧美一区二区视频| 国产一区久久久| 精品国产91洋老外米糕| 奇米一区二区三区av| 91精品国产色综合久久ai换脸| 亚洲综合激情另类小说区| 91在线丨porny丨国产| 中文字幕精品在线不卡| 国产a区久久久| 欧美极品aⅴ影院| 国产寡妇亲子伦一区二区| 久久久一区二区三区| 国内精品嫩模私拍在线| 精品国产乱码久久久久久老虎| 美女免费视频一区| 欧美电影免费观看完整版| 精品一区二区免费| 精品国产麻豆免费人成网站| 精品在线亚洲视频| 亚洲精品一线二线三线| 国产一区二区福利| 久久久99精品久久| 成人免费视频app| 国产精品成人免费| 欧洲另类一二三四区| 亚洲国产视频在线| 欧美一区二区三区四区视频| 美女视频一区二区| 国产偷国产偷精品高清尤物 | 豆国产96在线|亚洲| 国产精品麻豆视频| 日本乱人伦aⅴ精品| 午夜av一区二区三区| 日韩小视频在线观看专区| 国产精品99久久久久久久vr| 亚洲国产精品激情在线观看| 91麻豆国产在线观看| 亚洲国产精品尤物yw在线观看| 欧美高清激情brazzers| 精品一区二区三区免费观看| 国产三级精品视频| 一本久久精品一区二区| 亚洲国产欧美日韩另类综合| 91.麻豆视频| 国产精品99久久久久久宅男| 亚洲乱码国产乱码精品精小说| 欧美在线免费播放| 麻豆国产精品777777在线| 国产精品欧美一区二区三区| 欧美怡红院视频| 精品一区二区三区不卡| 亚洲日本在线天堂| 91麻豆精品久久久久蜜臀| 国产mv日韩mv欧美| 亚洲午夜精品在线| 国产日韩在线不卡| 欧美日韩一区二区三区视频| 激情欧美日韩一区二区| 亚洲精品美腿丝袜| 精品国产凹凸成av人网站| 色婷婷一区二区| 极品少妇xxxx精品少妇| 亚洲精品乱码久久久久| 91精品国产综合久久蜜臀| 丁香婷婷深情五月亚洲| 天天综合天天综合色| 国产精品不卡在线| 日韩免费观看2025年上映的电影| 91在线码无精品| 韩国v欧美v日本v亚洲v| 亚洲韩国一区二区三区| 日本一区二区三区在线观看| 3d动漫精品啪啪1区2区免费| 成人性生交大片免费看中文 | 91香蕉国产在线观看软件| 欧美aaaaa成人免费观看视频| 国产精品二区一区二区aⅴ污介绍| 91精品欧美一区二区三区综合在| yourporn久久国产精品| 黄一区二区三区| 视频一区在线播放|