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

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

?? celldb.cs

?? 用C#實(shí)現(xiàn)的取得CellID和LAC的程序源代碼!
?? CS
字號(hào):
using System;
using System.Data;
using System.IO;
using System.Xml;

using NiceTracker.Libraries;

namespace NiceTracker
{
	/// <summary>
	/// Summary description for CellDB.
	/// </summary>
	public class CellDB
	{				
		public const string Filename = "cells.xml";

		private static DataSet dsData = new DataSet( "data" );
		private static DataTable dtCells = null;		
		private static DataTable dtAreas = null;		

		public CellDB()
		{
		}

		public const string CELL_UNKNOWN = "Unknown";
		public const string AREA_UNKNOWN = "Unknown";
		public const string CELL_NO_NAME = "<No name>";
		public const string AREA_NO_NAME = "<No name>";

		public static void Load()
		{			
			string fullFilename = MiscLib.ToFilename( DBPath, Filename );

			 if ( !File.Exists( fullFilename ) )
			{			
				dtCells = setupCellDB( dsData );
				dtAreas = setupAreaDB( dsData );

				dsData.WriteXml( fullFilename );
			}
			else
			{
				dsData.ReadXml( fullFilename );
				
				dtCells = setupCellDB( dsData );				
				dtAreas = setupAreaDB( dsData );
			}			

			// Ensure that relational data is correct
			mergeDataTables();

			// Ensure that defaulted data is present
			setDefaultsInDataTables();
		}

		public static void Save()
		{
			string fullFilename = MiscLib.ToFilename( DBPath, Filename );

			dsData.WriteXml( fullFilename );
		}

		private static DataTable setupCellDB( DataSet ds )
		{
			DataTable dt = null;

			if ( ds.Tables.Contains( "cells" ) )
				dt = ds.Tables[ "cells" ];
			else
			{
				dt = new DataTable( "cells" );
				ds.Tables.Add( dt );
			}

			if ( !dt.Columns.Contains( "description" ) )
				dt.Columns.Add( "description", typeof( string ) );
			if ( !dt.Columns.Contains( "lac" ) )
				dt.Columns.Add( "lac", typeof( string ) );
			if ( !dt.Columns.Contains( "ci" ) )
				dt.Columns.Add( "ci", typeof( string ) );
			if ( !dt.Columns.Contains( "operator" ) )
				dt.Columns.Add( "operator", typeof( string ) );

			return dt;
		}

		private static DataTable setupAreaDB( DataSet ds )
		{
			DataTable dt = null;

			if ( ds.Tables.Contains( "areas" ) )
				dt = ds.Tables[ "areas" ];
			else
			{
				dt = new DataTable( "areas" );
				ds.Tables.Add( dt );
			}			

			if ( !dt.Columns.Contains( "description" ) )
				dt.Columns.Add( "description", typeof( string ) );
			if ( !dt.Columns.Contains( "lac" ) )
				dt.Columns.Add( "lac", typeof( string ) );
			if ( !dt.Columns.Contains( "operator" ) )
				dt.Columns.Add( "operator", typeof( string ) );

			return dt;
		}

		public static bool IsNewCell( string LAC, string CI )
		{			
			DataRow[] rows = dtCells.Select( "lac='" + LAC + "' and ci='" + CI + "'" );
			return ( rows.Length == 0 );
		}
		
		public static bool IsNewArea( string LAC )
		{			
			DataRow[] rows = dtAreas.Select( "lac='" + LAC + "'" );
			return ( rows.Length == 0 );
		}

		public static string GetCellDescription( GSMCell cell )
		{
			return GetCellDescription( cell.LAC, cell.CI );
		}

		public static string GetCellDescription( string LAC, string CI )
		{			
			DataRow[] rows = dtCells.Select( "lac='" + LAC + "' and ci='" + CI + "'" );
			
			if ( rows.Length >= 1 )
				return rows[0]["description"].ToString();
			else
				return CELL_UNKNOWN;
		}
		
		public static string GetAreaDescription( GSMCell cell )
		{
			return GetAreaDescription( cell.LAC, cell.CI );
		}

		public static string GetAreaDescription( string LAC, string CI )
		{			
			DataRow[] rows = dtAreas.Select( "lac='" + LAC + "'" );
			
			if ( rows.Length >= 1 )
				return rows[0]["description"].ToString();
			else
				return AREA_UNKNOWN;
		}

		public static void AddNewCell( string LAC, string CI )
		{
			AddNewCell( LAC, CI, CELL_NO_NAME );
		}
		
		public static void AddNewCell( string LAC, string CI, string description )
		{
			DataRow dr = dtCells.NewRow();
			dr[ "lac" ] = LAC;
			dr[ "ci" ] = CI;
			dr[ "description" ] = description;
			dr[ "operator" ] = CellTrack.OperatorCode;
			dtCells.Rows.Add( dr );
		}

		public static void AddNewArea( string LAC, string description )
		{
			DataRow dr = dtAreas.NewRow();
			dr[ "lac" ] = LAC;			
			dr[ "description" ] = description;
			dr[ "operator" ] = CellTrack.OperatorCode;
			dtAreas.Rows.Add( dr );
		}

		public static void AddNewArea( string LAC )
		{
			AddNewArea( LAC, AREA_NO_NAME );
		}

		public static void ImportCells( XmlDocument xmlDoc )
		{
			foreach ( XmlNode cellNode in xmlDoc.DocumentElement.ChildNodes )
			{
				if ( cellNode.Name == "cells" )
				{
					string oper = "";
					string lac = "";
					string ci = "";
					string description = "";

					foreach ( XmlNode dataNode in cellNode.ChildNodes )
					{
						if ( dataNode.Name == "operator" )
							oper = dataNode.InnerText;
						else if ( dataNode.Name == "lac" )
							lac = dataNode.InnerText;
						else if ( dataNode.Name == "ci" )
							ci = dataNode.InnerText;
						else if ( dataNode.Name == "description" )
							description = dataNode.InnerText;

					}

					if ( oper != "" &&
						lac != "" &&
						ci != "" &&
						description != "" )
					{				
						if ( IsNewCell( lac, ci ) )
							AddNewCell( lac, ci, description );						
					}
				}			
			}
		}

		public static void ImportAreas( XmlDocument xmlDoc )
		{
			foreach ( XmlNode cellNode in xmlDoc.DocumentElement.ChildNodes )
			{
				if ( cellNode.Name == "areas" )
				{
					string oper = "";
					string lac = "";
					string description = "";

					foreach ( XmlNode dataNode in cellNode.ChildNodes )
					{
						if ( dataNode.Name == "operator" )
							oper = dataNode.InnerText;
						else if ( dataNode.Name == "lac" )
							lac = dataNode.InnerText;
						else if ( dataNode.Name == "description" )
							description = dataNode.InnerText;

					}

					if ( oper != "" &&
						lac != "" &&						
						description != "" )
					{				
						if ( IsNewArea( lac ) )
							AddNewArea( lac, description );						
					}
				}			
			}
		}


		private static void mergeDataTables()
		{
			foreach ( DataRow dr in dtCells.Rows )
			{
				string description = dr[ "description" ].ToString();
				string lac = dr[ "lac" ].ToString();

				if ( IsNewArea( lac ) )
				{
					AddNewArea( lac, description );
				}
			}
		}

		private static void setDefaultsInDataTables()
		{
			foreach ( DataRow dr in dtAreas.Rows )
			{
				dr[ "lac" ] = dr[ "lac" ].ToString().Replace( " ", "" );				
				if ( dr[ "operator" ] == DBNull.Value )
					dr[ "operator" ] = CellTrack.OperatorCode;
			}

			foreach ( DataRow dr in dtCells.Rows )
			{
				dr[ "lac" ] = dr[ "lac" ].ToString().Replace( " ", "" );
				dr[ "ci" ] = dr[ "ci" ].ToString().Replace( " ", "" );
				if ( dr[ "operator" ] == DBNull.Value )
					dr[ "operator" ] = CellTrack.OperatorCode;
			}
		}
		

		public static DataTable DTCells
		{
			get
			{
				return dtCells;
			}
		}

		
		public static DataTable DTAreas
		{
			get
			{
				return dtAreas;
			}
		}

		public static string DBPath
		{
			get
			{
				return Config.ConfigManager.DBLocation;
			}
		}
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品1区2区| 欧美三级欧美一级| 成人一道本在线| av一区二区三区四区| 色狠狠综合天天综合综合| 国产成人av资源| 欧美三区在线观看| 欧美欧美午夜aⅴ在线观看| 欧美美女直播网站| 日韩欧美在线影院| ㊣最新国产の精品bt伙计久久| 国产女人18毛片水真多成人如厕 | 91小视频在线免费看| 欧美日韩国产精品成人| 日韩欧美高清在线| 一个色综合av| 成人久久久精品乱码一区二区三区| 成人av先锋影音| 日韩精品最新网址| 亚洲精品国产精品乱码不99| 精品一区二区三区久久久| av中文字幕不卡| 精品国产乱码久久久久久1区2区| 精品国产一二三| 蜜桃久久久久久| 欧美日韩国产大片| 亚洲成a人片在线不卡一二三区 | 亚洲精品国产无天堂网2021| 国产一区三区三区| 亚洲精品在线免费观看视频| 五月综合激情网| 欧美疯狂做受xxxx富婆| 亚洲国产日韩精品| 666欧美在线视频| 免费不卡在线视频| 欧美一个色资源| 国产真实乱偷精品视频免| 欧美成人性福生活免费看| 男人的天堂久久精品| 精品免费国产一区二区三区四区| 日本免费在线视频不卡一不卡二| 91久久精品日日躁夜夜躁欧美| 亚洲男人电影天堂| 欧美精品色一区二区三区| 久久精品国产99久久6| 久久亚洲精品国产精品紫薇| 国产成人免费视频一区| 亚洲欧美偷拍另类a∨色屁股| 色欧美乱欧美15图片| 麻豆专区一区二区三区四区五区| 欧美精品一区二区三区蜜臀| 成人精品一区二区三区中文字幕| 日韩一区在线看| 欧美一区二区网站| 色婷婷综合视频在线观看| 午夜精品成人在线视频| 国产网站一区二区三区| 欧美喷潮久久久xxxxx| 一本一道久久a久久精品综合蜜臀| 奇米精品一区二区三区四区| 国产精品人成在线观看免费| 日韩精品综合一本久道在线视频| 成人午夜在线播放| 国产一区二区三区黄视频 | 97久久精品人人澡人人爽| 男女性色大片免费观看一区二区| 亚洲免费观看高清在线观看| www国产成人| 中文字幕欧美激情一区| 欧美mv和日韩mv国产网站| 91精品国产综合久久香蕉麻豆| 国产精品一区二区三区乱码| 奇米888四色在线精品| 青青青伊人色综合久久| 麻豆成人91精品二区三区| 日韩国产精品久久| 日韩av一区二| 日韩精品视频网| 日韩成人午夜精品| 国产高清不卡二三区| 91伊人久久大香线蕉| 在线看不卡av| 欧美一卡二卡三卡四卡| 2024国产精品视频| 亚洲最新在线观看| 久久精品人人爽人人爽| 亚洲色图在线看| 日韩高清一级片| 成人av资源站| 在线播放/欧美激情| 337p粉嫩大胆噜噜噜噜噜91av | 成人精品国产免费网站| 欧美性感一类影片在线播放| 欧美日韩色综合| 国产精品视频看| 午夜成人在线视频| 91麻豆swag| 国产日韩欧美精品电影三级在线| 国产精品初高中害羞小美女文| 偷拍自拍另类欧美| 91视视频在线观看入口直接观看www| 欧美一区二区视频在线观看2020| 综合久久久久综合| 免费成人你懂的| 欧美日韩一区三区| 亚洲一区二区欧美| 99久久精品一区| 国产精品日韩成人| 国产精品亚洲午夜一区二区三区 | 色婷婷久久久久swag精品| 久久夜色精品国产欧美乱极品| 视频一区在线视频| 欧美性淫爽ww久久久久无| 国产精品女同一区二区三区| 丰满白嫩尤物一区二区| 久久蜜臀精品av| 成人av电影在线| 亚洲精品网站在线观看| 国产精品2024| 一级做a爱片久久| 95精品视频在线| 五月婷婷激情综合| 精品三级av在线| 色综合咪咪久久| 久久99精品久久久久| 国产精品不卡一区二区三区| 91女厕偷拍女厕偷拍高清| 图片区小说区区亚洲影院| 日韩一区二区电影| www.欧美色图| 精品一区二区三区在线播放视频 | 精品日韩一区二区三区| 成人国产视频在线观看| 亚洲午夜精品一区二区三区他趣| 欧美亚洲愉拍一区二区| 亚洲亚洲人成综合网络| 日韩精品一区二区三区视频 | 麻豆精品久久精品色综合| 久久精品日产第一区二区三区高清版 | 久久99精品视频| 亚洲女与黑人做爰| 中文字幕精品一区二区精品绿巨人 | 91麻豆精品国产91久久久久| 91免费看视频| 99久久精品国产精品久久| 激情久久五月天| 激情综合色播五月| 久久av中文字幕片| 国内偷窥港台综合视频在线播放| 亚洲一区二区影院| 亚洲一区二区美女| 亚洲欧美激情视频在线观看一区二区三区| 国产精品资源网| 黄色资源网久久资源365| 丝瓜av网站精品一区二区 | 国产一区二区伦理| 国产一区二区三区电影在线观看| 免费国产亚洲视频| 国产真实精品久久二三区| 精彩视频一区二区三区 | 久久亚洲春色中文字幕久久久| 欧美欧美午夜aⅴ在线观看| 在线一区二区三区四区五区 | 色94色欧美sute亚洲13| 欧美三级午夜理伦三级中视频| 欧美一区二区成人| 欧美激情资源网| 天天综合日日夜夜精品| 国产乱人伦偷精品视频免下载| 成人免费高清视频| 日韩欧美国产一区二区在线播放| 国产三级久久久| 视频一区二区三区在线| 日韩电影在线观看电影| av电影一区二区| 日韩欧美国产午夜精品| 亚洲午夜av在线| 一本大道综合伊人精品热热| 91精品国产全国免费观看| 亚洲精品中文在线观看| 粉嫩av一区二区三区| 精品裸体舞一区二区三区| 视频一区二区不卡| 在线观看av一区二区| 综合婷婷亚洲小说| 国产成人在线视频播放| 精品国产污污免费网站入口 | 亚洲精品videosex极品| 99久久综合国产精品| 国产精品三级视频| 99国产精品99久久久久久| 亚洲天堂网中文字| 成人午夜精品一区二区三区| 国产情人综合久久777777| 成人福利视频网站| 亚洲精品一区二区三区香蕉| 麻豆精品在线视频| 亚洲国产成人午夜在线一区| av在线免费不卡| 亚洲chinese男男1069|