当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  sql2005的xml字段类型在.net中的应用2

 sql2005的xml字段类型在.net中的应用2

点击次数:32 次 发布日期:2008-11-26 11:30:09 作者:源代码网
源代码网推荐      为了对模型的集合信息进行描述,我们有设计了MServerGroupCollection(服务器群信息集合),MServer(服务器群下的服务器信息),MServerShopCollection(服务器对应的店铺集合)
源代码网推荐  
源代码网推荐   /// <summary>
源代码网推荐   /// 服务器群信息集合
源代码网推荐   /// </summary>
源代码网推荐   /// <remarks>
源代码网推荐   [Serializable()]
源代码网推荐   [XmlRoot("ServerGroups")]
源代码网推荐   public class MServerGroupCollection : List<MServerGroup>
源代码网推荐   {
源代码网推荐   /// <summary>
源代码网推荐   /// 服务器群信息集合
源代码网推荐   /// </summary>
源代码网推荐   public MServerGroupCollection()
源代码网推荐   {
源代码网推荐   this._MServerGroups = new List<MServerGroup>();
源代码网推荐   }
源代码网推荐  
源代码网推荐   private List<MServerGroup> _MServerGroups;
源代码网推荐  
源代码网推荐   public List<MServerGroup> MServerGroups
源代码网推荐   {
源代码网推荐   get
源代码网推荐   {
源代码网推荐   return this._MServerGroups;
源代码网推荐   }
源代码网推荐   set
源代码网推荐   {
源代码网推荐   this._MServerGroups = value;
源代码网推荐   }
源代码网推荐   }
源代码网推荐   }
源代码网推荐  
源代码网推荐   /// <summary>
源代码网推荐   /// 服务器群下的服务器信息集合
源代码网推荐   /// </summary>
源代码网推荐   [XmlRoot("Servers")]
源代码网推荐   [Serializable()]
源代码网推荐   public class MServerCollection : List<MServer>
源代码网推荐   {
源代码网推荐   /// <summary>
源代码网推荐   /// 服务器群下的服务器信息集合
源代码网推荐   /// </summary>
源代码网推荐   public MServerCollection()
源代码网推荐   {
源代码网推荐   this._MServers = new List<MServer>();
源代码网推荐   }
源代码网推荐  
源代码网推荐   private List<MServer> _MServers;
源代码网推荐  
源代码网推荐   public List<MServer> MServers
源代码网推荐   {
源代码网推荐   get
源代码网推荐   {
源代码网推荐   return this._MServers;
源代码网推荐   }
源代码网推荐   set
源代码网推荐   {
源代码网推荐   this._MServers = value;
源代码网推荐   }
源代码网推荐   }
源代码网推荐   }
源代码网推荐  
源代码网推荐   /// <summary>
源代码网推荐   /// 服务器对应的店铺集合
源代码网推荐   /// </summary>
源代码网推荐   [Serializable()]
源代码网推荐   [XmlRoot(ElementName = "Shops", Namespace = "http://www.linkedu.com.cn/MServerShop.xsd")]
源代码网推荐   public class MServerShopCollection
源代码网推荐   {
源代码网推荐   private List<MServerShop> _MServerShops;
源代码网推荐  
源代码网推荐   [XmlElement("Shop")]
源代码网推荐   public List<MServerShop> MServerShops
源代码网推荐   {
源代码网推荐   get
源代码网推荐   {
源代码网推荐   return this._MServerShops;
源代码网推荐   }
源代码网推荐   set
源代码网推荐   {
源代码网推荐   this._MServerShops = value;
源代码网推荐   }
源代码网推荐   }
源代码网推荐   /// <summary>
源代码网推荐   /// 服务器对应的店铺集合类
源代码网推荐   /// </summary>
源代码网推荐   public MServerShopCollection()
源代码网推荐   {
源代码网推荐   this._MServerShops = new List<MServerShop>();
源代码网推荐   }
源代码网推荐  
源代码网推荐   }
源代码网推荐  
源代码网推荐  经分析,服务器对应的店铺信息可用xml存储,设计格式如下(用xsd描述,设计好后,我们把它创建到数据库中)
源代码网推荐  CREATE XML SCHEMA COLLECTION [dbo].[MServerShop] AS
源代码网推荐  N"<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:t="http://www.linkedu.com.cn/MServerShop.xsd" targetNamespace="http://www.linkedu.com.cn/MServerShop.xsd" elementFormDefault="qualified">
源代码网推荐  <xsd:element name="Shops">
源代码网推荐   <xsd:complexType>
源代码网推荐   <xsd:complexContent>
源代码网推荐   <xsd:restriction base="xsd:anyType">
源代码网推荐   <xsd:sequence>
源代码网推荐   <xsd:element name="Shop" type="t:ServerShop" minOccurs="0" maxOccurs="unbounded" />
源代码网推荐   </xsd:sequence>
源代码网推荐   </xsd:restriction>
源代码网推荐   </xsd:complexContent>
源代码网推荐   </xsd:complexType>
源代码网推荐  </xsd:element>
源代码网推荐  <xsd:complexType name="ServerShop">
源代码网推荐   <xsd:complexContent>
源代码网推荐   <xsd:restriction base="xsd:anyType">
源代码网推荐   <xsd:sequence />
源代码网推荐   <xsd:attribute name="ShopID" type="xsd:int" use="required" />
源代码网推荐   <xsd:attribute name="ShopName" type="xsd:string" use="required" />
源代码网推荐   </xsd:restriction>
源代码网推荐   </xsd:complexContent>
源代码网推荐  </xsd:complexType>
源代码网推荐  </xsd:schema>"
源代码网推荐  
源代码网推荐  最后,我设计了(服务器群信息 ES_ServerGroup),(服务器群下的服务器信息 ES_Server)的数据表, 在 ES_Server 数据表中,我们把服务器对应的店铺信息放在ES_Server数据表下用xml表示,并加入上边设计的xsd约束。
源代码网推荐  
源代码网推荐  CREATE TABLE [dbo].[ES_ServerGroup](
源代码网推荐   [ServerGroupID] [int] NOT NULL,
源代码网推荐   [ServerGroupName] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
源代码网推荐   CONSTRAINT [PK_ES_SERVERGROUP] PRIMARY KEY CLUSTERED
源代码网推荐  (
源代码网推荐   [ServerGroupID] ASC
源代码网推荐  )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
源代码网推荐  ) ON [PRIMARY]
源代码网推荐  
源代码网推荐  CREATE TABLE [dbo].[ES_Server](
源代码网推荐   [ServerID] [int] NOT NULL,
源代码网推荐   [ServerGroupID] [int] NULL,
源代码网推荐   [ServerName] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
源代码网推荐   [IP] [nvarchar](15) COLLATE Chinese_PRC_CI_AS NULL,
源代码网推荐   [DomainName] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,
源代码网推荐   [Dir] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL,
源代码网推荐   [Url] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL,
源代码网推荐   [ServerShops] [xml](CONTENT [dbo].[MServerShop]) NULL,
源代码网推荐   CONSTRAINT [PK_ES_SERVER] PRIMARY KEY CLUSTERED
源代码网推荐  (
源代码网推荐   [ServerID] ASC
源代码网推荐  )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
源代码网推荐  ) ON [PRIMARY]
源代码网推荐  
源代码网推荐  下一步,我开始设计数据访问接口,然后设计数据访问层和业务层,最后设计表现层。
源代码网推荐  为了演示方便,Demo中我省去了接口的书写和业务层,我在表现层直接调用了数据访问层
源代码网推荐  
源代码网推荐  数据访问层代码如下:
源代码网推荐  
源代码网推荐   /// <summary>
源代码网推荐   /// 服务器群下的服务器信息数据访问层
源代码网推荐   /// </summary>
源代码网推荐   public class DServer
源代码网推荐   {
源代码网推荐   #region constructor
源代码网推荐   public DServer()
源代码网推荐   {
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region public method
源代码网推荐  
源代码网推荐   #region 得到当前
源代码网推荐  
源代码网推荐   #region 得到某服务器信息 MServer GetMServer(int _ServerID)
源代码网推荐   /// <summary>
源代码网推荐   /// 得到某服务器信息
源代码网推荐   /// </summary>
源代码网推荐   /// <param name="_ServerID">服务器的ServerID</param>
源代码网推荐   /// <returns>得到某服务器信息</returns>
源代码网推荐   public MServer GetMServer(int _ServerID)
源代码网推荐   {
源代码网推荐   DataProvider dp = SqlTools.HelpWWW.DataProviderUse;
源代码网推荐   using (IDbConnection conn = dp.GetConnection())
源代码网推荐   {
源代码网推荐   Common.DataAccess.ORMapping.IConvert ic = dp.GetIConvert();
源代码网推荐   Common.DataAccess.ORMapping.Mapping m = ic.GetNewMapping();
源代码网推荐   m.AddSql("select * from ES_Server where ");
源代码网推荐   m.AddSql(" ServerID=");
源代码网推荐   m.AddSql("ServerID", _ServerID);
源代码网推荐   using (IDataReader idr = m.ExecuteReader(conn))
源代码网推荐   {
源代码网推荐   if (idr.Read())
源代码网推荐   {
源代码网推荐   return new MServer(_ServerID, idr["ServerName"].ToString(), idr["IP"].ToString(), idr["DomainName"].ToString(), idr["Dir"].ToString(), idr["Url"].ToString(), (int)idr["ServerGroupID"], idr["ServerShops"].ToString());
源代码网推荐   }
源代码网推荐   }
源代码网推荐   return null;
源代码网推荐   }
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region 关于MServerShop的操作
源代码网推荐  
源代码网推荐   #region 得到服务器对应的店铺集合 MServerShopCollection GetMServerShop(int _ServerID)
源代码网推荐   /// <summary>
源代码网推荐   /// 得到服务器对应的店铺集合
源代码网推荐   /// </summary>
源代码网推荐   /// <param name="_ServerID">服务器的ServerID</param>
源代码网推荐   /// <returns>得到服务器对应的店铺数组</returns>
源代码网推荐   public MServerShopCollection GetMServerShop(int _ServerID)
源代码网推荐   {
源代码网推荐   DataProvider dp = SqlTools.HelpWWW.DataProviderUse;
源代码网推荐   using (IDbConnection conn = dp.GetConnection())
源代码网推荐   {
源代码网推荐   Common.DataAccess.ORMapping.IConvert ic = dp.GetIConvert();
源代码网推荐   Common.DataAccess.ORMapping.Mapping m = ic.GetNewMapping();
源代码网推荐   m.AddSql("select ServerShops from ES_Server where ");
源代码网推荐   m.AddSql(" ServerID=");
源代码网推荐   m.AddSql("ServerID", _ServerID);
源代码网推荐   string xmlstr = m.ExecuteScalar(conn).ToString();
源代码网推荐   return Common.Utilities.SerializationHelper<MServerShopCollection>.FromXML(xmlstr);
源代码网推荐   }
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region 保存服务器对应的店铺信息 void SaveMServerShops(int _ServerID, MServerShopCollection _ServerShops)
源代码网推荐   /// <summary>
源代码网推荐   /// 保存服务器对应的店铺信息
源代码网推荐   /// </summary>
源代码网推荐   /// <param name="_ServerID">服务器的ServerID</param>
源代码网推荐   /// <param name="_ServerShops">服务器对应的店铺信息集合</param>
源代码网推荐   public void SaveMServerShops(int _ServerID, MServerShopCollection _ServerShops)
源代码网推荐   {
源代码网推荐   string xmlStr = Common.Utilities.SerializationHelper<MServerShopCollection>.ToXML(_ServerShops);
源代码网推荐   DataProvider dp = SqlTools.HelpWWW.DataProviderUse;
源代码网推荐   using (IDbConnection conn = dp.GetConnection())
源代码网推荐   {
源代码网推荐   Common.DataAccess.ORMapping.IConvert ic = dp.GetIConvert();
源代码网推荐   Common.DataAccess.ORMapping.Mapping m = ic.GetNewMapping();
源代码网推荐   m.AddSql("update ES_Server set ServerShops=N"");
源代码网推荐   m.AddSql(xmlStr);
源代码网推荐   m.AddSql("" where ServerID=");
源代码网推荐   m.AddSql(_ServerID.ToString());
源代码网推荐   m.ExecuteNonQuery(conn);
源代码网推荐   }
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region 添加服务器对应的店铺信息 void AddMServerShop(int _ServerID, MServerShop _ServerShop)
源代码网推荐   /// <summary>
源代码网推荐   /// 添加服务器对应的店铺信息
源代码网推荐   /// </summary>
源代码网推荐   /// <param name="_ServerID">服务器的ServerID</param>
源代码网推荐   /// <param name="_ServerShop">服务器对应的店铺信息</param>
源代码网推荐   public void AddMServerShop(int _ServerID, MServerShop _ServerShop)
源代码网推荐   {
源代码网推荐   //update ES_Server set ServerShops.modify("declare namespace mi="http://www.linkedu.com.cn/MServerShop.xsd"; insert (<mi:Shop ShopID="3" ShopName="hopName3" />) as first into (//mi:Shops)[1]") where ServerID=1
源代码网推荐   //SELECT ServerID FROM ES_Server WHERE ServerID=1 and ServerShops.exist("declare namespace mi="http://www.linkedu.com.cn/MServerShop.xsd"; //mi:Shops/mi:Shop[@ShopID=4]")=1
源代码网推荐   //select ServerShops.value("declare namespace mi="http://www.linkedu.com.cn/MServerShop.xsd"; (//mi:Shops/mi:Shop/@ShopID)[1]=4", "bit") as ShopID from ES_Server where ServerID=1 if @@rowcount > 0 begin select 1 end
源代码网推荐   string xmlStr = Common.Utilities.SerializationHelper<MServerShop>.ToXML(_ServerShop, "mi");
源代码网推荐   DataProvider dp = SqlTools.HelpWWW.DataProviderUse;
源代码网推荐   using (IDbConnection conn = dp.GetConnection())
源代码网推荐   {
源代码网推荐   Common.DataAccess.ORMapping.IConvert ic = dp.GetIConvert();
源代码网推荐   Common.DataAccess.ORMapping.Mapping m = ic.GetNewMapping();
源代码网推荐   m.AddSql("SELECT ServerID FROM ES_Server WHERE ServerID=" + _ServerID.ToString());
源代码网推荐   m.AddSql(" and ServerShops.exist("declare namespace mi="http://www.linkedu.com.cn/MServerShop.xsd"; //mi:Shops/mi:Shop[@ShopID=" + _ServerShop.ShopID.ToString() + "]")=1");
源代码网推荐   m.AddSql(" if @@rowcount = 0 begin ");
源代码网推荐   m.AddSql("update ES_Server set ServerShops.modify("declare namespace mi="http://www.linkedu.com.cn/MServerShop.xsd"; insert (");
源代码网推荐   m.AddSql(xmlStr);
源代码网推荐   m.AddSql(") as first into (//mi:Shops)[1]") where ServerID=" + _ServerID.ToString() + " end");
源代码网推荐   m.ExecuteNonQuery(conn);
源代码网推荐   }
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region 删除服务器对应的店铺信息 void DeleteMServerShop(int _ServerID, int _ShopID)
源代码网推荐   /// <summary>
源代码网推荐   /// 删除服务器对应的店铺信息
源代码网推荐   /// </summary>
源代码网推荐   /// <param name="_ServerID">服务器的ServerID</param>
源代码网推荐   /// <param name="_ShopID">店铺ID</param>
源代码网推荐   public void DeleteMServerShop(int _ServerID, int _ShopID)
源代码网推荐   {
源代码网推荐   /*
源代码网推荐   UPDATE ES_Server
源代码网推荐   SET ServerShops.modify("declare namespace mi="http://www.linkedu.com.cn/MServerShop.xsd";
源代码网推荐   delete /mi:Shops/mi:Shop[@ShopID=1]") where ServerID=1
源代码网推荐   */
源代码网推荐   DataProvider dp = SqlTools.HelpWWW.DataProviderUse;
源代码网推荐   using (IDbConnection conn = dp.GetConnection())
源代码网推荐   {
源代码网推荐   Common.DataAccess.ORMapping.IConvert ic = dp.GetIConvert();
源代码网推荐   Common.DataAccess.ORMapping.Mapping m = ic.GetNewMapping();
源代码网推荐   m.AddSql("UPDATE ES_Server SET ServerShops.modify("declare namespace mi="http://www.linkedu.com.cn/MServerShop.xsd";delete /mi:Shops/mi:Shop[@ShopID=" + _ShopID + "]") where ServerID=" + _ServerID);
源代码网推荐   m.ExecuteNonQuery(conn);
源代码网推荐   }
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region 修改服务器对应的店铺信息 void ModifyMServerShop(int _ServerID, MServerShop _ServerShop)
源代码网推荐   /// <summary>
源代码网推荐   /// 修改服务器对应的店铺信息
源代码网推荐   /// </summary>
源代码网推荐   /// <param name="_ServerID">服务器的ServerID</param>
源代码网推荐   /// <param name="_ServerShop">服务器对应的店铺信息,其中以_ServerShop的ShopID属性为主键</param>
源代码网推荐   public void ModifyMServerShop(int _ServerID, MServerShop _ServerShop)
源代码网推荐   {
源代码网推荐   //UPDATE ES_Server SET ServerShops.modify("declare namespace mi="http://www.linkedu.com.cn/MServerShop.xsd";replace value of (/mi:Shops/mi:Shop[@ShopID=128780281]/@ShopName)[1] with "ShopNamex"") where ServerID=1
源代码网推荐   DataProvider dp = SqlTools.HelpWWW.DataProviderUse;
源代码网推荐   using (IDbConnection conn = dp.GetConnection())
源代码网推荐   {
源代码网推荐   Common.DataAccess.ORMapping.IConvert ic = dp.GetIConvert();
源代码网推荐   Common.DataAccess.ORMapping.Mapping m = ic.GetNewMapping();
源代码网推荐   m.AddSql("UPDATE ES_Server SET ServerShops.modify("declare namespace mi="http://www.linkedu.com.cn/MServerShop.xsd";replace value of (/mi:Shops/mi:Shop[@ShopID=" + _ServerShop.ShopID + "]/@ShopName)[1] with "" + _ServerShop.ShopName + """) where ServerID=" + _ServerID);
源代码网推荐   m.ExecuteNonQuery(conn);
源代码网推荐   }
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐  
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region 增删改
源代码网推荐   #region 添加服务器信息 int Add(int _ServerID, string _ServerName, string _IP, string _DomainName, string _Dir, string _Url, int _ServerGroupID)
源代码网推荐   /// <summary>
源代码网推荐   /// 添加服务器信息
源代码网推荐   /// </summary>
源代码网推荐   /// <param name="_ServerID">服务器ID</param>
源代码网推荐   /// <param name="_ServerName">服务器名称</param>
源代码网推荐   /// <param name="_IP">服务器IP</param>
源代码网推荐   /// <param name="_DomainName">服务器域名</param>
源代码网推荐   /// <param name="_Dir">文件存放目录</param>
源代码网推荐   /// <param name="_Url">文件存放Url</param>
源代码网推荐   /// <param name="_ServerGroupID">对应的服务器群ID</param>
源代码网推荐   /// <param name="_ServerShops">服务器对应的店铺信息</param>
源代码网推荐   /// <returns>新加服务器是否成功</returns>
源代码网推荐   public bool Add(int _ServerID, string _ServerName, string _IP, string _DomainName, string _Dir, string _Url, int _ServerGroupID)
源代码网推荐   {
源代码网推荐   DataProvider dp = SqlTools.HelpWWW.DataProviderUse;
源代码网推荐   using (IDbConnection conn = dp.GetConnection())
源代码网推荐   {
源代码网推荐   Common.DataAccess.ORMapping.IConvert ic = dp.GetIConvert();
源代码网推荐   Common.DataAccess.ORMapping.Mapping m = ic.GetNewMapping();
源代码网推荐   Common.Utilities.ListDic<string, object> ld = new Common.Utilities.ListDic<string, object>();
源代码网推荐   ld.Add("ServerID", _ServerID);
源代码网推荐   ld.Add("ServerName", _ServerName);
源代码网推荐   ld.Add("IP", _IP);
源代码网推荐   ld.Add("DomainName", _DomainName);
源代码网推荐   ld.Add("Dir", _Dir);
源代码网推荐   ld.Add("Url", _Url);
源代码网推荐   ld.Add("ServerGroupID", _ServerGroupID);
源代码网推荐   m.Insert(ld, "ES_Server");
源代码网推荐   return m.ExecuteNonQuery(conn) > 0;
源代码网推荐   }
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region 修改服务器信息 bool Modify(int _ServerID, string _ServerName, string _IP, string _DomainName, string _Dir, string _Url, int _ServerGroupID)
源代码网推荐   /// <summary>
源代码网推荐   /// 修改服务器信息
源代码网推荐   /// </summary>
源代码网推荐   /// <param name="_ServerID">服务器ID</param>
源代码网推荐   /// <param name="_ServerName">服务器名称</param>
源代码网推荐   /// <param name="_IP">服务器IP</param>
源代码网推荐   /// <param name="_DomainName">服务器域名</param>
源代码网推荐   /// <param name="_Dir">文件存放目录</param>
源代码网推荐   /// <param name="_Url">文件存放Url</param>
源代码网推荐   /// <param name="_ServerGroupID">对应的服务器群ID</param>
源代码网推荐   /// <param name="_ServerShops">服务器对应的店铺信息</param>
源代码网推荐   /// <returns>是否成功</returns>
源代码网推荐   public bool Modify(int _ServerID, string _ServerName, string _IP, string _DomainName, string _Dir, string _Url, int _ServerGroupID)
源代码网推荐   {
源代码网推荐   DataProvider dp = SqlTools.HelpWWW.DataProviderUse;
源代码网推荐   using (IDbConnection conn = dp.GetConnection())
源代码网推荐   {
源代码网推荐   Common.DataAccess.ORMapping.IConvert ic = dp.GetIConvert();
源代码网推荐   Common.DataAccess.ORMapping.Mapping m = ic.GetNewMapping();
源代码网推荐   Common.Utilities.ListDic<string, object> ld = new Common.Utilities.ListDic<string, object>();
源代码网推荐   ld.Add("ServerName", _ServerName);
源代码网推荐   ld.Add("IP", _IP);
源代码网推荐   ld.Add("DomainName", _DomainName);
源代码网推荐   ld.Add("Dir", _Dir);
源代码网推荐   ld.Add("Url", _Url);
源代码网推荐   ld.Add("ServerGroupID", _ServerGroupID);
源代码网推荐   m.Update(ld, "ES_Server");
源代码网推荐   m.AddSql(" where ServerID=");
源代码网推荐   m.AddSql("ServerID", _ServerID);
源代码网推荐  
源代码网推荐   return m.ExecuteNonQuery(conn) > 0;
源代码网推荐   }
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region 删除服务器信息 bool Delete(int _ServerID)
源代码网推荐   /// <summary>
源代码网推荐   /// 删除服务器信息
源代码网推荐   /// </summary>
源代码网推荐   /// <param name="_ServerID">服务器的ServerID</param>
源代码网推荐   /// <returns>是否成功</returns>
源代码网推荐   public bool Delete(int _ServerID)
源代码网推荐   {
源代码网推荐   DataProvider dp = SqlTools.HelpWWW.DataProviderUse;
源代码网推荐   using (IDbConnection conn = dp.GetConnection())
源代码网推荐   {
源代码网推荐   Common.DataAccess.ORMapping.IConvert ic = dp.GetIConvert();
源代码网推荐   Common.DataAccess.ORMapping.Mapping m = ic.GetNewMapping();
源代码网推荐   m.Delete("ES_Server");
源代码网推荐   m.AddSql(" where ServerID=");
源代码网推荐   m.AddSql("ServerID", _ServerID);
源代码网推荐  
源代码网推荐   return m.ExecuteNonQuery(conn) > 0;
源代码网推荐   }
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region 得到其它
源代码网推荐   #region 得到此服务器所属服务器群信息 MServerGroup GetServerGroup(int _ServerID)
源代码网推荐   /// <summary>
源代码网推荐   /// 得到此服务器所属服务器群信息
源代码网推荐   /// </summary>
源代码网推荐   /// <param name="_ServerID">服务器ID</param>
源代码网推荐   /// <returns>得到此服务器所属服务器群信息</returns>
源代码网推荐   public MServerGroup GetServerGroup(int _ServerID)
源代码网推荐   {
源代码网推荐   DataProvider dp = SqlTools.HelpWWW.DataProviderUse;
源代码网推荐   using (IDbConnection conn = dp.GetConnection())
源代码网推荐   {
源代码网推荐   Common.DataAccess.ORMapping.IConvert ic = dp.GetIConvert();
源代码网推荐   Common.DataAccess.ORMapping.Mapping m = ic.GetNewMapping();
源代码网推荐   m.AddSql("select * from ES_ServerGroup where ServerGroupID = (select ServerGroupID from ES_Server where ServerID=");
源代码网推荐   m.AddSql("ServerID", _ServerID);
源代码网推荐   m.AddSql(")");
源代码网推荐   using (IDataReader idr = m.ExecuteReader(conn))
源代码网推荐   {
源代码网推荐   return Common.Entity.ModelEntityHelp<MServerGroup>.Get_IList(idr)[0];
源代码网推荐   }
源代码网推荐   }
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region static
源代码网推荐   /// <summary>
源代码网推荐   /// 工厂方法得到DServer对象
源代码网推荐   /// </summary>
源代码网推荐   /// <returns>DServer对象</returns>
源代码网推荐   public static DServer Factory()
源代码网推荐   {
源代码网推荐   return Common.Singleton.Provider<DServer>.Instance;
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   }
源代码网推荐  
源代码网推荐   /// <summary>
源代码网推荐   /// 服务器群信息数据访问层
源代码网推荐   /// </summary>
源代码网推荐   public class DServerGroup
源代码网推荐   {
源代码网推荐   #region constructor
源代码网推荐   public DServerGroup()
源代码网推荐   {
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region public method
源代码网推荐  
源代码网推荐   #region 得到当前
源代码网推荐   #region 得到所有服务器群信息 MServerGroupCollection GetAllServerGroup()
源代码网推荐   /// <summary>
源代码网推荐   /// 得到所有服务器群信息
源代码网推荐   /// </summary>
源代码网推荐   /// <returns>所有服务器群信息</returns>
源代码网推荐   public MServerGroupCollection GetAllServerGroup()
源代码网推荐   {
源代码网推荐   string sql = "select * from ES_ServerGroup";
源代码网推荐   DataTable dt = SqlTools.HelpWWW.ExecuteDataTable(CommandType.Text, sql);
源代码网推荐   return Common.Entity.ModelEntityCollectionHelp<MServerGroup, MServerGroupCollection>.Get_Collection(dt);
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region 得到某服务器群信息 MServerGroup GetMServerGroup(int _ServerGroupID)
源代码网推荐   /// <summary>
源代码网推荐   /// 得到某服务器群信息
源代码网推荐   /// </summary>
源代码网推荐   /// <param name="_ServerGroupID">服务器群的ServerGroupID</param>
源代码网推荐   /// <returns>得到某服务器群信息</returns>
源代码网推荐   public MServerGroup GetMServerGroup(int _ServerGroupID)
源代码网推荐   {
源代码网推荐   DataProvider dp = SqlTools.HelpWWW.DataProviderUse;
源代码网推荐   using (IDbConnection conn = dp.GetConnection())
源代码网推荐   {
源代码网推荐   Common.DataAccess.ORMapping.IConvert ic = dp.GetIConvert();
源代码网推荐   Common.DataAccess.ORMapping.Mapping m = ic.GetNewMapping();
源代码网推荐   m.AddSql("select * from ES_ServerGroup where ");
源代码网推荐   m.AddSql("ServerGroupID", "ServerGroupID", Common.DataAccess.ORMapping.OperType.Equals, _ServerGroupID);
源代码网推荐   using (IDataReader idr = m.ExecuteReader(conn))
源代码网推荐   {
源代码网推荐   return Common.Entity.ModelEntityHelp<MServerGroup>.Get_IList(idr)[0];
源代码网推荐   }
源代码网推荐   }
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region 增删改
源代码网推荐   #region 添加服务器群信息 bool Add(int _ServerGroupID, string _ServerGroupName)
源代码网推荐   /// <summary>
源代码网推荐   /// 添加服务器群信息
源代码网推荐   /// </summary>
源代码网推荐   /// <param name="_ServerGroupID">服务器群的ServerGroupID</param>
源代码网推荐   /// <param name="_ServerGroupName">服务器群的名称</param>
源代码网推荐   /// <returns>添加服务器群是否成功</returns>
源代码网推荐   public bool Add(int _ServerGroupID, string _ServerGroupName)
源代码网推荐   {
源代码网推荐   DataProvider dp = SqlTools.HelpWWW.DataProviderUse;
源代码网推荐   using (IDbConnection conn = dp.GetConnection())
源代码网推荐   {
源代码网推荐   Common.DataAccess.ORMapping.IConvert ic = dp.GetIConvert();
源代码网推荐   Common.DataAccess.ORMapping.Mapping m = ic.GetNewMapping();
源代码网推荐   Common.Utilities.ListDic<string, object> ld = new Common.Utilities.ListDic<string,object>();
源代码网推荐   ld.Add("ServerGroupID", _ServerGroupID);
源代码网推荐   ld.Add("ServerGroupName", _ServerGroupName);
源代码网推荐   m.Insert(ld, "ES_ServerGroup");
源代码网推荐   return m.ExecuteNonQuery(conn) > 0;
源代码网推荐   }
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region 修改服务器群信息 bool Modify(int _ServerGroupID, string _ServerGroupName)
源代码网推荐   /// <summary>
源代码网推荐   /// 修改服务器群信息
源代码网推荐   /// </summary>
源代码网推荐   /// <param name="_ServerGroupID">服务器群的ServerGroupID</param>
源代码网推荐   /// <param name="_ServerGroupName">服务器群的名称</param>
源代码网推荐   /// <returns>是否成功</returns>
源代码网推荐   public bool Modify(int _ServerGroupID, string _ServerGroupName)
源代码网推荐   {
源代码网推荐   DataProvider dp = SqlTools.HelpWWW.DataProviderUse;
源代码网推荐   using (IDbConnection conn = dp.GetConnection())
源代码网推荐   {
源代码网推荐   Common.DataAccess.ORMapping.IConvert ic = dp.GetIConvert();
源代码网推荐   Common.DataAccess.ORMapping.Mapping m = ic.GetNewMapping();
源代码网推荐   Common.Utilities.ListDic<string, object> ld = new Common.Utilities.ListDic<string, object>();
源代码网推荐   ld.Add("ServerGroupName", _ServerGroupName);
源代码网推荐   m.Update(ld, "ES_ServerGroup");
源代码网推荐   m.AddSql(" where ");
源代码网推荐   m.AddSql("ServerGroupID", "ServerGroupID", Common.DataAccess.ORMapping.OperType.Equals, _ServerGroupID);
源代码网推荐   return m.ExecuteNonQuery(conn) > 0;
源代码网推荐   }
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region 删除服务器群信息 bool Delete(int _ServerGroupID)
源代码网推荐   /// <summary>
源代码网推荐   /// 删除服务器群信息
源代码网推荐   /// </summary>
源代码网推荐   /// <param name="_ServerGroupID">服务器群的ServerGroupID</param>
源代码网推荐   /// <returns>是否成功</returns>
源代码网推荐   public bool Delete(int _ServerGroupID)
源代码网推荐   {
源代码网推荐   DataProvider dp = SqlTools.HelpWWW.DataProviderUse;
源代码网推荐   using (IDbConnection conn = dp.GetConnection())
源代码网推荐   {
源代码网推荐   Common.DataAccess.ORMapping.IConvert ic = dp.GetIConvert();
源代码网推荐   Common.DataAccess.ORMapping.Mapping m = ic.GetNewMapping();
源代码网推荐   m.Delete("ES_ServerGroup");
源代码网推荐   m.AddSql(" where ");
源代码网推荐   m.AddSql("ServerGroupID", "ServerGroupID", Common.DataAccess.ORMapping.OperType.Equals, _ServerGroupID);
源代码网推荐   return m.ExecuteNonQuery(conn) > 0;
源代码网推荐   }
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region 得到其它
源代码网推荐   #region 得到某服务器群的所有服务器信息 MServerCollection GetServers(int _ServerGroupID)
源代码网推荐   /// <summary>
源代码网推荐   /// 得到某服务器群的所有服务器信息
源代码网推荐   /// </summary>
源代码网推荐   /// <param name="_ServerGroupID">服务器群ID</param>
源代码网推荐   /// <returns>某服务器群的所有服务器信息</returns>
源代码网推荐   public MServerCollection GetServers(int _ServerGroupID)
源代码网推荐   {
源代码网推荐   DataProvider dp = SqlTools.HelpWWW.DataProviderUse;
源代码网推荐   using (IDbConnection conn = dp.GetConnection())
源代码网推荐   {
源代码网推荐   Common.DataAccess.ORMapping.IConvert ic = dp.GetIConvert();
源代码网推荐   Common.DataAccess.ORMapping.Mapping m = ic.GetNewMapping();
源代码网推荐   m.AddSql("select * from ES_Server where ");
源代码网推荐   m.AddSql("ServerGroupID", "ServerGroupID", Common.DataAccess.ORMapping.OperType.Equals, _ServerGroupID);
源代码网推荐   DataTable dt = m.ExecuteDataTable(conn);
源代码网推荐   MServerCollection list = new MServerCollection();
源代码网推荐   for (int i = 0; i < dt.Rows.Count; i++)
源代码网推荐   {
源代码网推荐   int serverID = (int)dt.Rows[i]["ServerID"];
源代码网推荐   string serverName = (string)dt.Rows[i]["ServerName"];
源代码网推荐   string ip = (string)dt.Rows[i]["IP"];
源代码网推荐   string domainName = (string)dt.Rows[i]["DomainName"];
源代码网推荐   string dir = (string)dt.Rows[i]["Dir"];
源代码网推荐   string url = (string)dt.Rows[i]["Url"];
源代码网推荐   int serverGroupID = (int)dt.Rows[i]["ServerGroupID"];
源代码网推荐   object xmlobj = dt.Rows[i]["ServerShops"];
源代码网推荐   if (xmlobj != null && xmlobj.ToString() != "")
源代码网推荐   {
源代码网推荐   Linkedu.ModelEntity.MServerShopCollection shops = Common.Utilities.SerializationHelper<Linkedu.ModelEntity.MServerShopCollection>.FromXML(xmlobj.ToString());
源代码网推荐   MServer mserver = new MServer(serverID, serverName, ip, domainName, dir, url, serverGroupID, shops);
源代码网推荐   list.Add(mserver);
源代码网推荐   }
源代码网推荐   }
源代码网推荐   return list;
源代码网推荐   }
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #endregion
源代码网推荐  
源代码网推荐   #region static
源代码网推荐   /// <summary>
源代码网推荐   /// 工厂方法得到DServerGroup对象
源代码网推荐   /// </summary>
源代码网推荐   /// <returns>DServerGroup对象</returns>
源代码网推荐   public static DServerGroup Factory()
源代码网推荐   {
源代码网推荐   return Common.Singleton.Provider<DServerGroup>.Instance;
源代码网推荐   }
源代码网推荐   #endregion
源代码网推荐   }
源代码网推荐  
源代码网推荐  http://www.cnblogs.com/laiwen/archive/2006/12/13/591454.html
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华