zoukankan      html  css  js  c++  java
  • 抓取网页信息

    winform的form.cs

      1 using HtmlAgilityPack;
      2 using System;
      3 using System.Windows.Forms;
      4 using Hqew.DMSFrame.Entity.ExpressionClips;
      5 using System.Collections.Generic;
      6 using Hqew.DMSFrame.Exception;
      7 using System.Threading;
      8 
      9 namespace PageGather
     10 {
     11     public partial class Form1 : Form
     12     {
     13         public decimal exchangeRate = 0;
     14         public Form1()
     15         {
     16             InitializeComponent();
     17         }
     18 
     19         private void btnData_Click(object sender, EventArgs e)
     20         {
     21             Thread t = new Thread(new ThreadStart(Bind));
     22             t.Start();
     23             //MessageBox.Show("请耐心等待...");
     24             timer1.Start();
     25         }
     26         private void Bind()
     27         {
     28             string url = txtUrl.Text;
     29             string htm = UrlPageHtml.GetHtml(url);
     30             HtmlAgilityPack.HtmlDocument htmldoc = new HtmlAgilityPack.HtmlDocument();
     31             htmldoc.LoadHtml(htm);
     32             HtmlNode phtmlNode = htmldoc.DocumentNode;
     33             HtmlNode hlist = phtmlNode.SelectSingleNode("//table[@id='bottomrow']//tr");
     34             #region 获取今天美元汇率
     35             //ExchangeRateInfoBLL exchangeRateInfoBLL = new ExchangeRateInfoBLL();
     36             //exchangeRate = exchangeRateInfoBLL.GetTodayEx(new ExchangeRateInfo()).GetValueOrDefault(0);
     37             exchangeRate = Convert.ToDecimal(GetTodayEx(new ExchangeRateInfo()));
     38             #endregion
     39 
     40             ProductDetailType(hlist);
     41             MessageBox.Show("完成抓取数据!!!");
     42         }
     43         public decimal? GetTodayEx(ExchangeRateInfo param)
     44         {
     45             ExchangeRateInfo result = new ExchangeRateInfo();
     46             WhereClip<ExchangeRateInfo> whereEx = new WhereClip<ExchangeRateInfo>(a => a.Date == DateTime.Today);
     47             OrderByClip<ExchangeRateInfo> OrderEx = new OrderByClip<ExchangeRateInfo>(a => a.OrderBy(a.CreateTime.Desc()));
     48             // List<ExchangeRateInfo> list = this.GetList(1, null, whereEx, OrderEx);
     49             //List<ExchangeRateInfo> list = Hqew.DMSFrame.DAL.BaseDAL.DefaultInstance.GetList(1,null,whereEx,OrderEx);
     50             // List<ExchangeRateInfo> list1 = Hqew.DMSFrame.DAL.TestDAL.DefaultInstance.GetList(1, null, whereEx, OrderEx);
     51             List<ExchangeRateInfo> list = null;
     52             list = Hqew.DMSFrame.DAL.BaseDAL.DefaultInstance.GetList(1, null, whereEx, OrderEx);
     53             if (list.Count > 0)
     54             {
     55                 result = list[0];
     56             }
     57             else
     58             {
     59                 whereEx = new WhereClip<ExchangeRateInfo>(a => a.IsDefault == 1);
     60                 //List<ExchangeRateInfo> list2 = this.GetList(1, null, whereEx, OrderEx);
     61                 List<ExchangeRateInfo> list2 = Hqew.DMSFrame.DAL.BaseDAL.DefaultInstance.GetList(1, null, whereEx, OrderEx);
     62                 if (list2.Count > 0)
     63                 {
     64                     result = list2[0];
     65                 }
     66             }
     67             return result.ExchangeRate;
     68         }
     69         private void ProductDetailType(HtmlNode htmlNode)
     70         {
     71             if (htmlNode == null)
     72                 return;
     73             ProductDetailInfoEx param = new ProductDetailInfoEx();
     74             // CategoryInfoBLL Categorybll = new CategoryInfoBLL();
     75             //SubCategoryInfoBLL subCategorybll = new SubCategoryInfoBLL();
     76             HtmlNodeCollection hlist = htmlNode.SelectNodes(htmlNode.XPath + "//td");
     77             foreach (HtmlNode node in hlist)
     78             {
     79                 HtmlNodeCollection mlist = node.SelectNodes(node.XPath + "//a[@style='text-decoration:none; color:#333;']");
     80                 if (mlist == null)
     81                     continue;
     82 
     83                 string strMenu = "";
     84                 foreach (HtmlNode menunode in mlist)
     85                 {
     86                     CategoryInfo category = new CategoryInfo();
     87                     category.CategoryName = menunode.InnerText;
     88                     //int cId = Categorybll.AddCategoryInfo(category);
     89                     int cId = AddCategoryInfo(category);
     90                     strMenu += "," + cId;
     91                 }
     92 
     93                 mlist = node.SelectNodes(node.XPath + "//ul[@class='topnav_list']");
     94                 if (mlist == null)
     95                     continue;
     96                 string[] sId = strMenu.Substring(1).Split(',');
     97                 int i = 0;
     98                 foreach (HtmlNode hn in mlist)
     99                 {
    100                     HtmlNodeCollection twoMlist = hn.SelectNodes(hn.XPath + "//li//a");
    101                     int CategoryID = Convert.ToInt32(sId[i]);
    102                     i++;
    103                     foreach (HtmlNode tNode in twoMlist)
    104                     {
    105                         SubCategoryInfo subCategoryInfo = new SubCategoryInfo();
    106                         subCategoryInfo.CategoryID = CategoryID;
    107                         subCategoryInfo.SubCategoryName = tNode.InnerText;
    108                         //int scId = subCategorybll.Add(subCategoryInfo);
    109                         int scId = Hqew.DMSFrame.DAL.BaseDAL.DefaultInstance.Add(subCategoryInfo);
    110                         string surl = UrlPageHtml.GetUrl(tNode.OuterHtml, "http://www.digikey.cn");
    111                         SearchData(CategoryID, scId, surl, "http://www.digikey.cn", tNode.InnerText);
    112                         
    113                     }
    114                     
    115                 }
    116                 
    117             }
    118         }
    119         public int AddCategoryInfo(CategoryInfo param)
    120         {
    121             int result = 0;
    122 
    123             if (string.IsNullOrEmpty(param.CategoryName))
    124             {
    125                 throw new WarnException("参数有误!");
    126             }
    127 
    128             param.CategoryGuid = Guid.NewGuid();
    129 
    130             if (Hqew.DMSFrame.DAL.BaseDAL.DefaultInstance.Add(param) > 0)
    131             {
    132                 WhereClip<CategoryInfo> whereClip = new WhereClip<CategoryInfo>(a => a.CategoryGuid == param.CategoryGuid);
    133                 
    134                     CategoryInfo categoryInfo = new CategoryInfo();
    135                     if (Hqew.DMSFrame.DAL.BaseDAL.DefaultInstance.Get(whereClip)!=null)
    136                     {
    137                         categoryInfo = Hqew.DMSFrame.DAL.BaseDAL.DefaultInstance.Get(whereClip);
    138                     }
    139                     
    140 
    141                     if (categoryInfo != null)
    142                     {
    143                         result = categoryInfo.CategoryID.Value;
    144                     }
    145             }
    146             return result;
    147         }
    148 
    149         private void SearchData(int OneMenuId, int TwoMenuId, string url, string fromUrl, string SubName)
    150         {
    151             //SubSubCategoryInfoBLL bll = new SubSubCategoryInfoBLL();
    152             HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument();
    153             string htm = UtilityHandler.HttpGet(url, "");
    154             document.LoadHtml(htm);
    155             HtmlNode rootNode = document.DocumentNode;
    156             HtmlNodeCollection table = rootNode.SelectNodes("//table[@class='stickyHeader']//tbody//tr");
    157             if (table == null)
    158             {
    159                 table = rootNode.SelectNodes("//ul[@id='qpLinkList']//li//a");
    160 
    161                 foreach (HtmlNode td in table)
    162                 {
    163                     SubSubCategoryInfo SubSubCate = new SubSubCategoryInfo();
    164                     SubSubCate.CategoryID = OneMenuId;
    165                     SubSubCate.SubCategoryID = TwoMenuId;
    166                     SubSubCate.SubSubCategoryName = td.InnerText;
    167                     int scId = AddSubSubCategoryInfo(SubSubCate);
    168                     string surl = UrlPageHtml.GetTwoUrl(td.OuterHtml, "http://www.digikey.cn");
    169                     AddProductDetailParser(scId, surl);
    170                 }
    171             }
    172             else
    173             {
    174                 SubSubCategoryInfo SubSubCate = new SubSubCategoryInfo();
    175                 SubSubCate.CategoryID = OneMenuId;
    176                 SubSubCate.SubCategoryID = TwoMenuId;
    177                 SubSubCate.SubSubCategoryName = SubName;
    178                 int scId = AddSubSubCategoryInfo(SubSubCate);
    179                 AddProductDetailParser(scId, url);
    180             }
    181         }
    182         /// <summary>
    183         /// 添加三级级菜单并返回菜单信息ID
    184         /// </summary>
    185         /// <param name="param"></param>
    186         /// <returns></returns>
    187         public int AddSubSubCategoryInfo(SubSubCategoryInfo param)
    188         {
    189             int result = 0;
    190             if (param.CategoryID <= 0 || param.SubCategoryID <= 0)
    191                 return result;
    192             if (string.IsNullOrEmpty(param.SubSubCategoryName))
    193             {
    194                 throw new WarnException("参数有误!");
    195             }
    196 
    197             param.SubSubCategoryGuid = Guid.NewGuid();
    198 
    199             if (Hqew.DMSFrame.DAL.BaseDAL.DefaultInstance.Add(param) > 0)
    200             {
    201                 SubSubCategoryInfo subsubcategoryInfo = Hqew.DMSFrame.DAL.BaseDAL.DefaultInstance.Get(new WhereClip<SubSubCategoryInfo>(a => a.SubSubCategoryGuid == param.SubSubCategoryGuid));
    202                 if (subsubcategoryInfo != null)
    203                 {
    204                     result = subsubcategoryInfo.SubSubCateID.Value;
    205                 }
    206             }
    207             return result;
    208         }
    209         private void AddProductDetailParser(int subsubcateId, string url)
    210         {
    211             HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument();
    212             string htm = UtilityHandler.HttpGet(url, "");
    213             document.LoadHtml(htm);
    214             HtmlNode rootNode = document.DocumentNode;
    215             HtmlNodeCollection table = rootNode.SelectNodes("//table[@class='stickyHeader']//tbody//tr");
    216             if (table == null)
    217                 return;
    218 
    219             foreach (HtmlNode htmlNode in table)
    220             {
    221                 ProductDetailParser(htmlNode, subsubcateId);
    222             }
    223             string reg = UrlPageHtml.CreateNaviRule("<span class="current-page">页面 1/", "</span>");
    224             int pagecount = UrlPageHtml.GetPageTotal(htm, reg);
    225             if (pagecount == 1)
    226                 return;
    227             for (int i = 2; i <= pagecount; i++)
    228             {
    229                 HtmlAgilityPack.HtmlDocument docpage = new HtmlAgilityPack.HtmlDocument();
    230                 if (url.Contains("?"))
    231                 {
    232                     string[] slist = url.Split('?');
    233                     url = slist[0] + "/page/" + i + "?" + slist[1];
    234                 }
    235                 else
    236                     url = url + "/page/" + i;
    237                 htm = UtilityHandler.HttpGet(url, "");
    238                 docpage.LoadHtml(htm);
    239                 HtmlNode tNode = docpage.DocumentNode;
    240                 HtmlNodeCollection tdlist = tNode.SelectNodes("//table[@class='stickyHeader']//tbody//tr");
    241                 if (tdlist == null)
    242                     continue;
    243                 foreach (HtmlNode ptdNode in tdlist)
    244                 {
    245                     ProductDetailParser(ptdNode, subsubcateId);
    246                 }
    247                 
    248             }
    249         }
    250         private void ProductDetailParser(HtmlNode htmlNode, int subsubcateId)
    251         {
    252             if (htmlNode == null)
    253             {
    254                 return;
    255             }
    256 
    257             ProductDetailInfo model = new ProductDetailInfo();
    258 
    259             model.SubSubCategoryID = subsubcateId;
    260             //Digi-Key 零件编号
    261             HtmlNode tempNode = htmlNode.SelectSingleNode(htmlNode.XPath + "//td[@class='digikey-partnumber']/a");
    262             model.Partnumber = tempNode.InnerText.Trim();
    263             //productInfo.Manufacturer = productInfoBLL.GetMappingName(productInfo.Manufacturer);
    264 
    265             //制造商零件编号
    266             tempNode = htmlNode.SelectSingleNode(htmlNode.XPath + "//td[@class='mfg-partnumber']/a/span");
    267             model.Model = tempNode.InnerText;
    268             //制造商
    269             tempNode = htmlNode.SelectSingleNode(htmlNode.XPath + "//td[@class='vendor']/span/a");
    270             model.Manufacturer = tempNode.InnerText;
    271 
    272             //描述
    273             tempNode = htmlNode.SelectSingleNode(htmlNode.XPath + "//td[@class='description']");
    274             model.Remark = tempNode.InnerText;
    275 
    276             //数量
    277             tempNode = htmlNode.SelectSingleNode(htmlNode.XPath + "//td[@class='qtyAvailable']");
    278             if (tempNode.InnerText.Trim() != "0")
    279                 model.Quantity = Convert.ToInt32(tempNode.InnerText.Split('-')[0].Replace(",", "").Trim());
    280 
    281             //单价
    282             tempNode = htmlNode.SelectSingleNode(htmlNode.XPath + "//td[@class='unitprice']");
    283             if (tempNode.InnerText.Trim() != "电询" && !tempNode.InnerText.Trim().Contains("Digi-Reel"))
    284             {
    285                 model.PriceUSD = decimal.Parse(tempNode.InnerText.Trim());
    286                 model.PriceCNY = model.PriceUSD * exchangeRate;
    287             }
    288 
    289             //最低订购数量
    290             tempNode = htmlNode.SelectSingleNode(htmlNode.XPath + "//td[@class='minQty']");
    291             model.MinOrderQuantity = Convert.ToInt32(tempNode.InnerText.Replace("非库存货", "").Replace("&nbsp;", "").Replace("<br>", "").Trim().Replace(",", ""));
    292 
    293             //最低订购数量
    294             tempNode = htmlNode.SelectSingleNode(htmlNode.XPath + "//td[@class='image']/a/img");
    295             model.Img1 = UrlPageHtml.GetImgUrl1(tempNode.OuterHtml);
    296             model.Img2 = UrlPageHtml.GetImgUrl2(tempNode.OuterHtml);
    297 
    298             // ProductDetailInfoBLL bll = new ProductDetailInfoBLL();
    299             AddProductDetailInfo(model);
    300             //系列
    301             //tempNode = htmlNode.SelectSingleNode(htmlNode.XPath + "//td[@class='series']/a");
    302             //string sValue =tempNode.InnerText.Trim();
    303 
    304             ////类型
    305             //tempNode = htmlNode.SelectSingleNode(htmlNode.XPath + "//td[@class='CLS 183']/a");
    306             //sValue = tempNode.InnerText.Trim();
    307 
    308             ////类型
    309             //tempNode = htmlNode.SelectSingleNode(htmlNode.XPath + "//td[@class='CLS 183']/a");
    310             //sValue = tempNode.InnerText.Trim();
    311             
    312 
    313         }
    314         /// <summary>
    315         /// 当前用户新增发票信息
    316         /// </summary>
    317         /// <param name="param"></param>
    318         /// <returns></returns>
    319         public bool AddProductDetailInfo(ProductDetailInfo param)
    320         {
    321             bool result = false;
    322             if (param.SubSubCategoryID <= 0)
    323             {
    324                 return result;
    325             }
    326             if (string.IsNullOrEmpty(param.Model) || string.IsNullOrEmpty(param.Manufacturer) || string.IsNullOrEmpty(param.Partnumber))
    327             {
    328                 throw new WarnException("参数有误!");
    329             }
    330             if (Hqew.DMSFrame.DAL.BaseDAL.DefaultInstance.Add(param) > 0)
    331             {
    332                 result = true;
    333             }
    334 
    335             return result;
    336         }
    337         private void txtUrl_TextChanged(object sender, EventArgs e)
    338         {
    339             Bind();
    340         }
    341 
    342         private void Form1_Load(object sender, EventArgs e)
    343         {
    344             this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
    345             notifyIcon1.Visible = false;
    346             notifyIcon1.Click += new System.EventHandler(this.notifyIcon1_Click);
    347             this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged);
    348         }
    349 
    350         private void Form1_SizeChanged(object sender, EventArgs e)
    351         {
    352             if (this.WindowState == FormWindowState.Minimized)//最小化     
    353             {
    354                 this.ShowInTaskbar = false;
    355                 this.notifyIcon1.Visible = true;
    356             }    
    357         }
    358 
    359         private void notifyIcon1_Click(object sender, EventArgs e)
    360         {
    361             if (this.WindowState == FormWindowState.Minimized)
    362                 this.WindowState = FormWindowState.Normal;
    363             this.Activate();
    364             this.notifyIcon1.Visible = false;
    365             this.ShowInTaskbar = true;   
    366         }
    367         int n = 0;
    368         private void timer1_Tick(object sender, EventArgs e)
    369         {
    370             this.label2.Text ="请稍等>>>............."+ n.ToString()+"%。";
    371             if (n >= 99)
    372             {
    373                 n = 0;
    374             }
    375             else
    376                 n++;
    377         }
    378     }
    379 }
    form.cs

    抓去网站的信息,

    http://www.digikey.cn/?curr=USD

    categoryinfo

      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using Hqew.DMSFrame.Entity.Attributes;
      6 using Hqew.DMSFrame.Entity;
      7 
      8 namespace PageGather
      9 {
     10     [Serializable]
     11     [TableMapping(Name = "CategoryInfo", PrimaryKey = "CategoryID", DefaultOrderBy = "  CategoryID Desc")]
     12     public class CategoryInfo : BaseEntity
     13     {
     14         private int? _categoryID;
     15 
     16         /// <summary>
     17         /// 分类ID ----一级分类.
     18         /// </summary>
     19         [ColumnMapping(Name = "CategoryID", AutoIncrement = true)]
     20         public int? CategoryID
     21         {
     22             get
     23             {
     24                 return _categoryID;
     25             }
     26             set
     27             {
     28                 object _oldvalue = _categoryID;
     29                 _categoryID = value;
     30 
     31                 if ((value == null) || (!value.Equals(_oldvalue)))
     32                 {
     33                     this.OnPropertyChanged("CategoryID", _oldvalue, _categoryID);
     34                 }
     35             }
     36         }
     37         private string _categoryName;
     38 
     39         /// <summary>
     40         /// 分类名 ----一级分类.
     41         /// </summary>
     42         [ColumnMapping(Name = "CategoryName")]
     43         public string CategoryName
     44         {
     45             get
     46             {
     47                 return _categoryName;
     48             }
     49             set
     50             {
     51                 object _oldvalue = _categoryName;
     52                 _categoryName = value.SubStr(100);
     53 
     54                 if ((value == null) || (!value.Equals(_oldvalue)))
     55                 {
     56                     this.OnPropertyChanged("CategoryName", _oldvalue, _categoryName);
     57                     this.OnMappingPropertyChanged("CategoryName", _oldvalue, _categoryName);
     58                 }
     59             }
     60         }
     61         private int? _totalNumber;
     62 
     63         /// <summary>
     64         /// 该分类的器件总个数.
     65         /// </summary>
     66         [ColumnMapping(Name = "TotalNumber")]
     67         public int? TotalNumber
     68         {
     69             get
     70             {
     71                 return _totalNumber;
     72             }
     73             set
     74             {
     75                 object _oldvalue = _totalNumber;
     76                 _totalNumber = value;
     77 
     78                 if ((value == null) || (!value.Equals(_oldvalue)))
     79                 {
     80                     this.OnPropertyChanged("TotalNumber", _oldvalue, _totalNumber);
     81                     this.OnMappingPropertyChanged("TotalNumber", _oldvalue, _totalNumber);
     82                 }
     83             }
     84         }
     85         private DateTime? _createTime;
     86 
     87         /// <summary>
     88         /// 日期和时间.
     89         /// </summary>
     90         [ColumnMapping(Name = "CreateTime")]
     91         public DateTime? CreateTime
     92         {
     93             get
     94             {
     95                 return _createTime;
     96             }
     97             set
     98             {
     99                 object _oldvalue = _createTime;
    100                 _createTime = value;
    101 
    102                 if ((value == null) || (!value.Equals(_oldvalue)))
    103                 {
    104                     this.OnPropertyChanged("CreateTime", _oldvalue, _createTime);
    105                     this.OnMappingPropertyChanged("CreateTime", _oldvalue, _createTime);
    106                 }
    107             }
    108         }
    109         private DateTime? _modifiedTime;
    110 
    111         /// <summary>
    112         /// 日期和时间.
    113         /// </summary>
    114         [ColumnMapping(Name = "ModifiedTime")]
    115         public DateTime? ModifiedTime
    116         {
    117             get
    118             {
    119                 return _modifiedTime;
    120             }
    121             set
    122             {
    123                 object _oldvalue = _modifiedTime;
    124                 _modifiedTime = value;
    125 
    126                 if ((value == null) || (!value.Equals(_oldvalue)))
    127                 {
    128                     this.OnPropertyChanged("ModifiedTime", _oldvalue, _modifiedTime);
    129                     this.OnMappingPropertyChanged("ModifiedTime", _oldvalue, _modifiedTime);
    130                 }
    131             }
    132         }
    133         private string _remark;
    134 
    135         /// <summary>
    136         /// .
    137         /// </summary>
    138         [ColumnMapping(Name = "Remark")]
    139         public string Remark
    140         {
    141             get
    142             {
    143                 return _remark;
    144             }
    145             set
    146             {
    147                 object _oldvalue = _remark;
    148                 _remark = value.SubStr(120);
    149 
    150                 if ((value == null) || (!value.Equals(_oldvalue)))
    151                 {
    152                     this.OnPropertyChanged("Remark", _oldvalue, _remark);
    153                     this.OnMappingPropertyChanged("Remark", _oldvalue, _remark);
    154                 }
    155             }
    156         }
    157         private Guid? _categoryguid;
    158 
    159         /// <summary>
    160         /// 一级菜单GUID.
    161         /// </summary>
    162         [ColumnMapping(Name = "CategoryGuid")]
    163         public Guid? CategoryGuid
    164         {
    165             get
    166             {
    167                 return _categoryguid;
    168             }
    169             set
    170             {
    171                 object _oldvalue = _categoryguid;
    172                 _categoryguid = value;
    173 
    174                 if ((value == null) || (!value.Equals(_oldvalue)))
    175                 {
    176                     this.OnPropertyChanged("CategoryGuid", _oldvalue, _categoryguid);
    177                     this.OnMappingPropertyChanged("CategoryGuid", _oldvalue, _categoryguid);
    178                 }
    179             }
    180         }
    181     }
    182 }
    categoryinfo
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Runtime.CompilerServices;
     6 
     7 namespace PageGather
     8 {
     9     public  static class CommonExt
    10     {
    11         public  static string SubStr(this string stringToSub, int length)
    12         {
    13            
    14            if (stringToSub.Length>=length)
    15            {
    16                return  stringToSub = stringToSub.Substring(0,length);
    17            }
    18            else
    19            {
    20                return stringToSub;
    21            }
    22         }
    23     }
    24 }
    commonext
      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using Hqew.DMSFrame.Entity.Attributes;
      6 using Hqew.DMSFrame.Entity;
      7 
      8 namespace PageGather
      9 {
     10     [Serializable]
     11     [TableMapping(Name = "ExchangeRateInfo", PrimaryKey = "ExchangeRateID", DefaultOrderBy = " ExchangeRateID Desc")]
     12     public class ExchangeRateInfo : BaseEntity
     13     {
     14         private int? _exchangeRateID;
     15 
     16         /// <summary>
     17         /// .
     18         /// </summary>
     19         [ColumnMapping(Name = "ExchangeRateID", AutoIncrement = true)]
     20         public int? ExchangeRateID
     21         {
     22             get
     23             {
     24                 return _exchangeRateID;
     25             }
     26             set
     27             {
     28                 object _oldvalue = _exchangeRateID;
     29                 _exchangeRateID = value;
     30 
     31                 if ((value == null) || (!value.Equals(_oldvalue)))
     32                 {
     33                     this.OnPropertyChanged("ExchangeRateID", _oldvalue, _exchangeRateID);
     34                 }
     35             }
     36         }
     37         private DateTime? _date;
     38 
     39         /// <summary>
     40         /// 日期.
     41         /// </summary>
     42         [ColumnMapping(Name = "Date")]
     43         public DateTime? Date
     44         {
     45             get
     46             {
     47                 return _date;
     48             }
     49             set
     50             {
     51                 object _oldvalue = _date;
     52                 _date = value;
     53 
     54                 if ((value == null) || (!value.Equals(_oldvalue)))
     55                 {
     56                     this.OnPropertyChanged("Date", _oldvalue, _date);
     57                     this.OnMappingPropertyChanged("Date", _oldvalue, _date);
     58                 }
     59             }
     60         }
     61         private decimal? _exchangeRate;
     62 
     63         /// <summary>
     64         /// 汇率.
     65         /// </summary>
     66         [ColumnMapping(Name = "ExchangeRate")]
     67         public decimal? ExchangeRate
     68         {
     69             get
     70             {
     71                 return _exchangeRate;
     72             }
     73             set
     74             {
     75                 object _oldvalue = _exchangeRate;
     76                 _exchangeRate = value;
     77 
     78                 if ((value == null) || (!value.Equals(_oldvalue)))
     79                 {
     80                     this.OnPropertyChanged("ExchangeRate", _oldvalue, _exchangeRate);
     81                     this.OnMappingPropertyChanged("ExchangeRate", _oldvalue, _exchangeRate);
     82                 }
     83             }
     84         }
     85         private short? _isDefault;
     86 
     87         /// <summary>
     88         /// 默认(1:是,2:否).
     89         /// </summary>
     90         [ColumnMapping(Name = "IsDefault")]
     91         public short? IsDefault
     92         {
     93             get
     94             {
     95                 return _isDefault;
     96             }
     97             set
     98             {
     99                 object _oldvalue = _isDefault;
    100                 _isDefault = value;
    101 
    102                 if ((value == null) || (!value.Equals(_oldvalue)))
    103                 {
    104                     this.OnPropertyChanged("IsDefault", _oldvalue, _isDefault);
    105                     this.OnMappingPropertyChanged("IsDefault", _oldvalue, _isDefault);
    106                 }
    107             }
    108         }
    109         private DateTime? _createTime;
    110 
    111         /// <summary>
    112         /// .
    113         /// </summary>
    114         [ColumnMapping(Name = "CreateTime")]
    115         public DateTime? CreateTime
    116         {
    117             get
    118             {
    119                 return _createTime;
    120             }
    121             set
    122             {
    123                 object _oldvalue = _createTime;
    124                 _createTime = value;
    125 
    126                 if ((value == null) || (!value.Equals(_oldvalue)))
    127                 {
    128                     this.OnPropertyChanged("CreateTime", _oldvalue, _createTime);
    129                     this.OnMappingPropertyChanged("CreateTime", _oldvalue, _createTime);
    130                 }
    131             }
    132         }
    133         private int? _adminID;
    134 
    135         /// <summary>
    136         /// .
    137         /// </summary>
    138         [ColumnMapping(Name = "AdminID")]
    139         public int? AdminID
    140         {
    141             get
    142             {
    143                 return _adminID;
    144             }
    145             set
    146             {
    147                 object _oldvalue = _adminID;
    148                 _adminID = value;
    149 
    150                 if ((value == null) || (!value.Equals(_oldvalue)))
    151                 {
    152                     this.OnPropertyChanged("AdminID", _oldvalue, _adminID);
    153                     this.OnMappingPropertyChanged("AdminID", _oldvalue, _adminID);
    154                 }
    155             }
    156         }
    157         private short? _sysStatus;
    158 
    159         /// <summary>
    160         /// 系统状态(1:正常,2:删除).
    161         /// </summary>
    162         [ColumnMapping(Name = "SysStatus")]
    163         public short? SysStatus
    164         {
    165             get
    166             {
    167                 return _sysStatus;
    168             }
    169             set
    170             {
    171                 object _oldvalue = _sysStatus;
    172                 _sysStatus = value;
    173 
    174                 if ((value == null) || (!value.Equals(_oldvalue)))
    175                 {
    176                     this.OnPropertyChanged("SysStatus", _oldvalue, _sysStatus);
    177                     this.OnMappingPropertyChanged("SysStatus", _oldvalue, _sysStatus);
    178                 }
    179             }
    180         }
    181 
    182         private decimal? _exchangeRateEuro;
    183         /// <summary>
    184         /// 欧元汇率
    185         /// </summary>
    186         [ColumnMapping(Name = "ExchangeRateEuro")]
    187         public decimal? ExchangeRateEuro
    188         {
    189             get
    190             {
    191                 return _exchangeRateEuro;
    192             }
    193             set
    194             {
    195                 object _oldvalue = _exchangeRateEuro;
    196                 _exchangeRateEuro = value;
    197 
    198                 if ((value == null) || (!value.Equals(_oldvalue)))
    199                 {
    200                     this.OnPropertyChanged("ExchangeRateEuro", _oldvalue, _exchangeRateEuro);
    201                     this.OnMappingPropertyChanged("ExchangeRateEuro", _oldvalue, _exchangeRateEuro);
    202                 }
    203             }
    204         }
    205     }
    206 }
    exchagnereteInfo
      1 using System;
      2 using Hqew.DMSFrame.Entity.Attributes;
      3 using Hqew.DMSFrame.Entity;
      4 namespace PageGather
      5 {
      6     [Serializable]
      7     [TableMapping(Name = "ProductDetailInfo", PrimaryKey = "ProductDetailID", DefaultOrderBy = "  ProductDetailID Desc")]
      8     public class ProductDetailInfo : BaseEntity
      9     {
     10         private int? _productDetailID;
     11 
     12         /// <summary>
     13         /// .
     14         /// </summary>
     15         [ColumnMapping(Name = "ProductDetailID", AutoIncrement = true)]
     16         public int? ProductDetailID
     17         {
     18             get
     19             {
     20                 return _productDetailID;
     21             }
     22             set
     23             {
     24                 object _oldvalue = _productDetailID;
     25                 _productDetailID = value;
     26 
     27                 if ((value == null) || (!value.Equals(_oldvalue)))
     28                 {
     29                     this.OnPropertyChanged("ProductDetailID", _oldvalue, _productDetailID);
     30                 }
     31             }
     32         }
     33         private int? _subSubCategoryID;
     34 
     35         /// <summary>
     36         /// .
     37         /// </summary>
     38         [ColumnMapping(Name = "SubSubCategoryID")]
     39         public int? SubSubCategoryID
     40         {
     41             get
     42             {
     43                 return _subSubCategoryID;
     44             }
     45             set
     46             {
     47                 object _oldvalue = _subSubCategoryID;
     48                 _subSubCategoryID = value;
     49 
     50                 if ((value == null) || (!value.Equals(_oldvalue)))
     51                 {
     52                     this.OnPropertyChanged("SubSubCategoryID", _oldvalue, _subSubCategoryID);
     53                     this.OnMappingPropertyChanged("SubSubCategoryID", _oldvalue, _subSubCategoryID);
     54                 }
     55             }
     56         }
     57         private string _model;
     58 
     59         /// <summary>
     60         /// 制造商零件编号.
     61         /// </summary>
     62         [ColumnMapping(Name = "Model")]
     63         public string Model
     64         {
     65             get
     66             {
     67                 return _model;
     68             }
     69             set
     70             {
     71                 object _oldvalue = _model;
     72                 _model = value.SubStr(100);
     73 
     74                 if ((value == null) || (!value.Equals(_oldvalue)))
     75                 {
     76                     this.OnPropertyChanged("Model", _oldvalue, _model);
     77                     this.OnMappingPropertyChanged("Model", _oldvalue, _model);
     78                 }
     79             }
     80         }
     81         private string _manufacturer;
     82 
     83         /// <summary>
     84         /// 制造商.
     85         /// </summary>
     86         [ColumnMapping(Name = "Manufacturer")]
     87         public string Manufacturer
     88         {
     89             get
     90             {
     91                 return _manufacturer;
     92             }
     93             set
     94             {
     95                 object _oldvalue = _manufacturer;
     96                 _manufacturer = value.SubStr(100);
     97 
     98                 if ((value == null) || (!value.Equals(_oldvalue)))
     99                 {
    100                     this.OnPropertyChanged("Manufacturer", _oldvalue, _manufacturer);
    101                     this.OnMappingPropertyChanged("Manufacturer", _oldvalue, _manufacturer);
    102                 }
    103             }
    104         }
    105         private int? _packQuantity;
    106 
    107         /// <summary>
    108         /// 包装数.
    109         /// </summary>
    110         [ColumnMapping(Name = "PackQuantity")]
    111         public int? PackQuantity
    112         {
    113             get
    114             {
    115                 return _packQuantity;
    116             }
    117             set
    118             {
    119                 object _oldvalue = _packQuantity;
    120                 _packQuantity = value;
    121 
    122                 if ((value == null) || (!value.Equals(_oldvalue)))
    123                 {
    124                     this.OnPropertyChanged("PackQuantity", _oldvalue, _packQuantity);
    125                     this.OnMappingPropertyChanged("PackQuantity", _oldvalue, _packQuantity);
    126                 }
    127             }
    128         }
    129         private int? _quantity;
    130 
    131         /// <summary>
    132         /// 数量.
    133         /// </summary>
    134         [ColumnMapping(Name = "Quantity")]
    135         public int? Quantity
    136         {
    137             get
    138             {
    139                 return _quantity;
    140             }
    141             set
    142             {
    143                 object _oldvalue = _quantity;
    144                 _quantity = value;
    145 
    146                 if ((value == null) || (!value.Equals(_oldvalue)))
    147                 {
    148                     this.OnPropertyChanged("Quantity", _oldvalue, _quantity);
    149                     this.OnMappingPropertyChanged("Quantity", _oldvalue, _quantity);
    150                 }
    151             }
    152         }
    153         private decimal? _pricecny;
    154 
    155         /// <summary>
    156         /// 单价.
    157         /// </summary>
    158         [ColumnMapping(Name = "PriceCNY")]
    159         public decimal? PriceCNY
    160         {
    161             get
    162             {
    163                 return _pricecny;
    164             }
    165             set
    166             {
    167                 object _oldvalue = _pricecny;
    168                 _pricecny = value;
    169 
    170                 if ((value == null) || (!value.Equals(_oldvalue)))
    171                 {
    172                     this.OnPropertyChanged("PriceCNY", _oldvalue, _pricecny);
    173                     this.OnMappingPropertyChanged("PriceCNY", _oldvalue, _pricecny);
    174                 }
    175             }
    176         }
    177         private decimal? _priceusd;
    178         /// <summary>
    179         /// 单价.
    180         /// </summary>
    181         [ColumnMapping(Name = "PriceUSD")]
    182         public decimal? PriceUSD
    183         {
    184             get
    185             {
    186                 return _priceusd;
    187             }
    188             set
    189             {
    190                 object _oldvalue = _priceusd;
    191                 _priceusd = value;
    192 
    193                 if ((value == null) || (!value.Equals(_oldvalue)))
    194                 {
    195                     this.OnPropertyChanged("PriceUSD", _oldvalue, _priceusd);
    196                     this.OnMappingPropertyChanged("PriceUSD", _oldvalue, _priceusd);
    197                 }
    198             }
    199         }
    200         private string _img1;
    201 
    202         /// <summary>
    203         /// 图片1.
    204         /// </summary>
    205         [ColumnMapping(Name = "Img1")]
    206         public string Img1
    207         {
    208             get
    209             {
    210                 return _img1;
    211             }
    212             set
    213             {
    214                 object _oldvalue = _img1;
    215                 _img1 = value.SubStr(200);
    216 
    217                 if ((value == null) || (!value.Equals(_oldvalue)))
    218                 {
    219                     this.OnPropertyChanged("Img1", _oldvalue, _img1);
    220                     this.OnMappingPropertyChanged("Img1", _oldvalue, _img1);
    221                 }
    222             }
    223         }
    224         private string _img2;
    225 
    226         /// <summary>
    227         /// 图片2.
    228         /// </summary>
    229         [ColumnMapping(Name = "Img2")]
    230         public string Img2
    231         {
    232             get
    233             {
    234                 return _img2;
    235             }
    236             set
    237             {
    238                 object _oldvalue = _img2;
    239                 _img2 = value.SubStr(200);
    240 
    241                 if ((value == null) || (!value.Equals(_oldvalue)))
    242                 {
    243                     this.OnPropertyChanged("Img2", _oldvalue, _img2);
    244                     this.OnMappingPropertyChanged("Img2", _oldvalue, _img2);
    245                 }
    246             }
    247         }
    248         private string _img3;
    249 
    250         /// <summary>
    251         /// 图片3.
    252         /// </summary>
    253         [ColumnMapping(Name = "Img3")]
    254         public string Img3
    255         {
    256             get
    257             {
    258                 return _img3;
    259             }
    260             set
    261             {
    262                 object _oldvalue = _img3;
    263                 _img3 = value.SubStr(200);
    264 
    265                 if ((value == null) || (!value.Equals(_oldvalue)))
    266                 {
    267                     this.OnPropertyChanged("Img3", _oldvalue, _img3);
    268                     this.OnMappingPropertyChanged("Img3", _oldvalue, _img3);
    269                 }
    270             }
    271         }
    272         private string _doc1;
    273 
    274         /// <summary>
    275         /// .
    276         /// </summary>
    277         [ColumnMapping(Name = "Doc1")]
    278         public string Doc1
    279         {
    280             get
    281             {
    282                 return _doc1;
    283             }
    284             set
    285             {
    286                 object _oldvalue = _doc1;
    287                 _doc1 = value.SubStr(200);
    288 
    289                 if ((value == null) || (!value.Equals(_oldvalue)))
    290                 {
    291                     this.OnPropertyChanged("Doc1", _oldvalue, _doc1);
    292                     this.OnMappingPropertyChanged("Doc1", _oldvalue, _doc1);
    293                 }
    294             }
    295         }
    296         private string _doc2;
    297 
    298         /// <summary>
    299         /// .
    300         /// </summary>
    301         [ColumnMapping(Name = "Doc2")]
    302         public string Doc2
    303         {
    304             get
    305             {
    306                 return _doc2;
    307             }
    308             set
    309             {
    310                 object _oldvalue = _doc2;
    311                 _doc2 = value.SubStr(200);
    312 
    313                 if ((value == null) || (!value.Equals(_oldvalue)))
    314                 {
    315                     this.OnPropertyChanged("Doc2", _oldvalue, _doc2);
    316                     this.OnMappingPropertyChanged("Doc2", _oldvalue, _doc2);
    317                 }
    318             }
    319         }
    320         private string _doc3;
    321 
    322         /// <summary>
    323         /// .
    324         /// </summary>
    325         [ColumnMapping(Name = "Doc3")]
    326         public string Doc3
    327         {
    328             get
    329             {
    330                 return _doc3;
    331             }
    332             set
    333             {
    334                 object _oldvalue = _doc3;
    335                 _doc3 = value.SubStr(200);
    336 
    337                 if ((value == null) || (!value.Equals(_oldvalue)))
    338                 {
    339                     this.OnPropertyChanged("Doc3", _oldvalue, _doc3);
    340                     this.OnMappingPropertyChanged("Doc3", _oldvalue, _doc3);
    341                 }
    342             }
    343         }
    344         private DateTime? _createTime;
    345 
    346         /// <summary>
    347         /// 日期和时间.
    348         /// </summary>
    349         [ColumnMapping(Name = "CreateTime")]
    350         public DateTime? CreateTime
    351         {
    352             get
    353             {
    354                 return _createTime;
    355             }
    356             set
    357             {
    358                 object _oldvalue = _createTime;
    359                 _createTime = value;
    360 
    361                 if ((value == null) || (!value.Equals(_oldvalue)))
    362                 {
    363                     this.OnPropertyChanged("CreateTime", _oldvalue, _createTime);
    364                     this.OnMappingPropertyChanged("CreateTime", _oldvalue, _createTime);
    365                 }
    366             }
    367         }
    368         private DateTime? _modifiedTime;
    369 
    370         /// <summary>
    371         /// 日期和时间.
    372         /// </summary>
    373         [ColumnMapping(Name = "ModifiedTime")]
    374         public DateTime? ModifiedTime
    375         {
    376             get
    377             {
    378                 return _modifiedTime;
    379             }
    380             set
    381             {
    382                 object _oldvalue = _modifiedTime;
    383                 _modifiedTime = value;
    384 
    385                 if ((value == null) || (!value.Equals(_oldvalue)))
    386                 {
    387                     this.OnPropertyChanged("ModifiedTime", _oldvalue, _modifiedTime);
    388                     this.OnMappingPropertyChanged("ModifiedTime", _oldvalue, _modifiedTime);
    389                 }
    390             }
    391         }
    392         private string _remark;
    393 
    394         /// <summary>
    395         /// .
    396         /// </summary>
    397         [ColumnMapping(Name = "Remark")]
    398         public string Remark
    399         {
    400             get
    401             {
    402                 return _remark;
    403             }
    404             set
    405             {
    406                 object _oldvalue = _remark;
    407                 _remark = value.SubStr(120);
    408 
    409                 if ((value == null) || (!value.Equals(_oldvalue)))
    410                 {
    411                     this.OnPropertyChanged("Remark", _oldvalue, _remark);
    412                     this.OnMappingPropertyChanged("Remark", _oldvalue, _remark);
    413                 }
    414             }
    415         }
    416 
    417         private int _minorderquantity;
    418 
    419         /// <summary>
    420         /// 最小订货量
    421         /// </summary>
    422         [ColumnMapping(Name = "MinOrderQuantity")]
    423         public int MinOrderQuantity
    424         {
    425             get
    426             {
    427                 return _minorderquantity;
    428             }
    429             set
    430             {
    431                 object _oldvalue = _minorderquantity;
    432                 _minorderquantity = value;
    433 
    434                 if ((value == null) || (!value.Equals(_oldvalue)))
    435                 {
    436                     this.OnPropertyChanged("MinOrderQuantity", _oldvalue, _minorderquantity);
    437                     this.OnMappingPropertyChanged("MinOrderQuantity", _oldvalue, _minorderquantity);
    438                 }
    439             }
    440         }
    441         private string _partnumber;
    442 
    443         /// <summary>
    444         /// Digi-Key 零件编号
    445         /// </summary>
    446         [ColumnMapping(Name = "Partnumber")]
    447         public string Partnumber
    448         {
    449             get
    450             {
    451                 return _partnumber;
    452             }
    453             set
    454             {
    455                 object _oldvalue = _partnumber;
    456                 _partnumber = value.SubStr(120);
    457 
    458                 if ((value == null) || (!value.Equals(_oldvalue)))
    459                 {
    460                     this.OnPropertyChanged("Partnumber", _oldvalue, _remark);
    461                     this.OnMappingPropertyChanged("Partnumber", _oldvalue, _remark);
    462                 }
    463             }
    464         }
    465     }
    466 }
    productdetailinfo
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 
     6 
     7 namespace PageGather
     8 {
     9     public class ProductDetailInfoEx : ProductDetailInfo
    10     {
    11         /// <summary>
    12         /// 一级菜单
    13         /// </summary>
    14         public CategoryInfo Category
    15         {
    16             get;
    17             set;
    18         }
    19         ///// <summary>
    20         ///// 二级菜单
    21         ///// </summary>
    22         //public SubCategoryInfo SubCategory
    23         //{
    24         //    get;
    25         //    set;
    26         //}
    27         /// <summary>
    28         /// 三级菜单
    29         /// </summary>
    30         //public SubSubCategoryInfo SubSubCategory
    31         //{
    32         //    get;
    33         //    set;
    34         //}
    35         /// <summary>
    36         /// 产品详细信息
    37         /// </summary>
    38         public ProductDetailInfo ProductDetail
    39         {
    40             get;
    41             set;
    42         }
    43 
    44     }
    45 }
    productDetailinfoex
      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using Hqew.DMSFrame.Entity.Attributes;
      6 using Hqew.DMSFrame.Entity;
      7 
      8 namespace PageGather
      9 {
     10     [Serializable]
     11     [TableMapping(Name = "SubCategoryInfo", PrimaryKey = "SubCategoryID", DefaultOrderBy = "  SubCategoryID Desc")]
     12     public class SubCategoryInfo : BaseEntity
     13     {
     14         private int? _subCategoryID;
     15 
     16         /// <summary>
     17         /// 分类ID ----二级分类.
     18         /// </summary>
     19         [ColumnMapping(Name = "SubCategoryID", AutoIncrement = true)]
     20         public int? SubCategoryID
     21         {
     22             get
     23             {
     24                 return _subCategoryID;
     25             }
     26             set
     27             {
     28                 object _oldvalue = _subCategoryID;
     29                 _subCategoryID = value;
     30 
     31                 if ((value == null) || (!value.Equals(_oldvalue)))
     32                 {
     33                     this.OnPropertyChanged("SubCategoryID", _oldvalue, _subCategoryID);
     34                 }
     35             }
     36         }
     37         private string _subCategoryName;
     38 
     39         /// <summary>
     40         /// 分类名 ----二级分类.
     41         /// </summary>
     42         [ColumnMapping(Name = "SubCategoryName")]
     43         public string SubCategoryName
     44         {
     45             get
     46             {
     47                 return _subCategoryName;
     48             }
     49             set
     50             {
     51                 object _oldvalue = _subCategoryName;
     52                 _subCategoryName = value.SubStr(100);
     53 
     54                 if ((value == null) || (!value.Equals(_oldvalue)))
     55                 {
     56                     this.OnPropertyChanged("SubCategoryName", _oldvalue, _subCategoryName);
     57                     this.OnMappingPropertyChanged("SubCategoryName", _oldvalue, _subCategoryName);
     58                 }
     59             }
     60         }
     61         private int? _categoryID;
     62 
     63         /// <summary>
     64         /// 所属一级分类ID.
     65         /// </summary>
     66         [ColumnMapping(Name = "CategoryID")]
     67         public int? CategoryID
     68         {
     69             get
     70             {
     71                 return _categoryID;
     72             }
     73             set
     74             {
     75                 object _oldvalue = _categoryID;
     76                 _categoryID = value;
     77 
     78                 if ((value == null) || (!value.Equals(_oldvalue)))
     79                 {
     80                     this.OnPropertyChanged("CategoryID", _oldvalue, _categoryID);
     81                     this.OnMappingPropertyChanged("CategoryID", _oldvalue, _categoryID);
     82                 }
     83             }
     84         }
     85         private int? _totalNumber;
     86 
     87         /// <summary>
     88         /// 该分类的器件总个数.
     89         /// </summary>
     90         [ColumnMapping(Name = "TotalNumber")]
     91         public int? TotalNumber
     92         {
     93             get
     94             {
     95                 return _totalNumber;
     96             }
     97             set
     98             {
     99                 object _oldvalue = _totalNumber;
    100                 _totalNumber = value;
    101 
    102                 if ((value == null) || (!value.Equals(_oldvalue)))
    103                 {
    104                     this.OnPropertyChanged("TotalNumber", _oldvalue, _totalNumber);
    105                     this.OnMappingPropertyChanged("TotalNumber", _oldvalue, _totalNumber);
    106                 }
    107             }
    108         }
    109         private DateTime? _createTime;
    110 
    111         /// <summary>
    112         /// 日期和时间.
    113         /// </summary>
    114         [ColumnMapping(Name = "CreateTime")]
    115         public DateTime? CreateTime
    116         {
    117             get
    118             {
    119                 return _createTime;
    120             }
    121             set
    122             {
    123                 object _oldvalue = _createTime;
    124                 _createTime = value;
    125 
    126                 if ((value == null) || (!value.Equals(_oldvalue)))
    127                 {
    128                     this.OnPropertyChanged("CreateTime", _oldvalue, _createTime);
    129                     this.OnMappingPropertyChanged("CreateTime", _oldvalue, _createTime);
    130                 }
    131             }
    132         }
    133         private DateTime? _modifiedTime;
    134 
    135         /// <summary>
    136         /// 日期和时间.
    137         /// </summary>
    138         [ColumnMapping(Name = "ModifiedTime")]
    139         public DateTime? ModifiedTime
    140         {
    141             get
    142             {
    143                 return _modifiedTime;
    144             }
    145             set
    146             {
    147                 object _oldvalue = _modifiedTime;
    148                 _modifiedTime = value;
    149 
    150                 if ((value == null) || (!value.Equals(_oldvalue)))
    151                 {
    152                     this.OnPropertyChanged("ModifiedTime", _oldvalue, _modifiedTime);
    153                     this.OnMappingPropertyChanged("ModifiedTime", _oldvalue, _modifiedTime);
    154                 }
    155             }
    156         }
    157         private string _remark;
    158 
    159         /// <summary>
    160         /// .
    161         /// </summary>
    162         [ColumnMapping(Name = "Remark")]
    163         public string Remark
    164         {
    165             get
    166             {
    167                 return _remark;
    168             }
    169             set
    170             {
    171                 object _oldvalue = _remark;
    172                 _remark = value.SubStr(120);
    173 
    174                 if ((value == null) || (!value.Equals(_oldvalue)))
    175                 {
    176                     this.OnPropertyChanged("Remark", _oldvalue, _remark);
    177                     this.OnMappingPropertyChanged("Remark", _oldvalue, _remark);
    178                 }
    179             }
    180         }
    181         private Guid? _subcategoryguid;
    182 
    183         /// <summary>
    184         /// 一级菜单GUID.
    185         /// </summary>
    186         [ColumnMapping(Name = "SubCategoryGuid")]
    187         public Guid? SubCategoryGuid
    188         {
    189             get
    190             {
    191                 return _subcategoryguid;
    192             }
    193             set
    194             {
    195                 object _oldvalue = _subcategoryguid;
    196                 _subcategoryguid = value;
    197 
    198                 if ((value == null) || (!value.Equals(_oldvalue)))
    199                 {
    200                     this.OnPropertyChanged("SubCategoryGuid", _oldvalue, _subcategoryguid);
    201                     this.OnMappingPropertyChanged("SubCategoryGuid", _oldvalue, _subcategoryguid);
    202                 }
    203             }
    204         }
    205     }
    206 }
    subcategoryinfo
      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using Hqew.DMSFrame.Entity.Attributes;
      6 using Hqew.DMSFrame.Entity;
      7 
      8 namespace PageGather
      9 {
     10     [Serializable]
     11     [TableMapping(Name = "SubSubCategoryInfo", PrimaryKey = "SubSubCateID", DefaultOrderBy = "  SubSubCateID Desc")]
     12     public class SubSubCategoryInfo : BaseEntity
     13     {
     14         private int? _subSubCateID;
     15 
     16         /// <summary>
     17         /// 分类ID ----三级分类.
     18         /// </summary>
     19         [ColumnMapping(Name = "SubSubCateID", AutoIncrement = true)]
     20         public int? SubSubCateID
     21         {
     22             get
     23             {
     24                 return _subSubCateID;
     25             }
     26             set
     27             {
     28                 object _oldvalue = _subSubCateID;
     29                 _subSubCateID = value;
     30 
     31                 if ((value == null) || (!value.Equals(_oldvalue)))
     32                 {
     33                     this.OnPropertyChanged("SubSubCateID", _oldvalue, _subSubCateID);
     34                 }
     35             }
     36         }
     37         private string _subSubCategoryName;
     38 
     39         /// <summary>
     40         /// 分类名 ----三级分类.
     41         /// </summary>
     42         [ColumnMapping(Name = "SubSubCategoryName")]
     43         public string SubSubCategoryName
     44         {
     45             get
     46             {
     47                 return _subSubCategoryName;
     48             }
     49             set
     50             {
     51                 object _oldvalue = _subSubCategoryName;
     52                 _subSubCategoryName = value.SubStr(100);
     53 
     54                 if ((value == null) || (!value.Equals(_oldvalue)))
     55                 {
     56                     this.OnPropertyChanged("SubSubCategoryName", _oldvalue, _subSubCategoryName);
     57                     this.OnMappingPropertyChanged("SubSubCategoryName", _oldvalue, _subSubCategoryName);
     58                 }
     59             }
     60         }
     61         private int? _categoryID;
     62 
     63         /// <summary>
     64         /// 所属一级分类ID.
     65         /// </summary>
     66         [ColumnMapping(Name = "CategoryID")]
     67         public int? CategoryID
     68         {
     69             get
     70             {
     71                 return _categoryID;
     72             }
     73             set
     74             {
     75                 object _oldvalue = _categoryID;
     76                 _categoryID = value;
     77 
     78                 if ((value == null) || (!value.Equals(_oldvalue)))
     79                 {
     80                     this.OnPropertyChanged("CategoryID", _oldvalue, _categoryID);
     81                     this.OnMappingPropertyChanged("CategoryID", _oldvalue, _categoryID);
     82                 }
     83             }
     84         }
     85         private int? _subCategoryID;
     86 
     87         /// <summary>
     88         /// 所属二级分类ID.
     89         /// </summary>
     90         [ColumnMapping(Name = "SubCategoryID")]
     91         public int? SubCategoryID
     92         {
     93             get
     94             {
     95                 return _subCategoryID;
     96             }
     97             set
     98             {
     99                 object _oldvalue = _subCategoryID;
    100                 _subCategoryID = value;
    101 
    102                 if ((value == null) || (!value.Equals(_oldvalue)))
    103                 {
    104                     this.OnPropertyChanged("SubCategoryID", _oldvalue, _subCategoryID);
    105                     this.OnMappingPropertyChanged("SubCategoryID", _oldvalue, _subCategoryID);
    106                 }
    107             }
    108         }
    109         private int? _totalNumber;
    110 
    111         /// <summary>
    112         /// 该分类的器件总个数.
    113         /// </summary>
    114         [ColumnMapping(Name = "TotalNumber")]
    115         public int? TotalNumber
    116         {
    117             get
    118             {
    119                 return _totalNumber;
    120             }
    121             set
    122             {
    123                 object _oldvalue = _totalNumber;
    124                 _totalNumber = value;
    125 
    126                 if ((value == null) || (!value.Equals(_oldvalue)))
    127                 {
    128                     this.OnPropertyChanged("TotalNumber", _oldvalue, _totalNumber);
    129                     this.OnMappingPropertyChanged("TotalNumber", _oldvalue, _totalNumber);
    130                 }
    131             }
    132         }
    133         private DateTime? _createTime;
    134 
    135         /// <summary>
    136         /// 日期和时间.
    137         /// </summary>
    138         [ColumnMapping(Name = "CreateTime")]
    139         public DateTime? CreateTime
    140         {
    141             get
    142             {
    143                 return _createTime;
    144             }
    145             set
    146             {
    147                 object _oldvalue = _createTime;
    148                 _createTime = value;
    149 
    150                 if ((value == null) || (!value.Equals(_oldvalue)))
    151                 {
    152                     this.OnPropertyChanged("CreateTime", _oldvalue, _createTime);
    153                     this.OnMappingPropertyChanged("CreateTime", _oldvalue, _createTime);
    154                 }
    155             }
    156         }
    157         private DateTime? _modifiedTime;
    158 
    159         /// <summary>
    160         /// 日期和时间.
    161         /// </summary>
    162         [ColumnMapping(Name = "ModifiedTime")]
    163         public DateTime? ModifiedTime
    164         {
    165             get
    166             {
    167                 return _modifiedTime;
    168             }
    169             set
    170             {
    171                 object _oldvalue = _modifiedTime;
    172                 _modifiedTime = value;
    173 
    174                 if ((value == null) || (!value.Equals(_oldvalue)))
    175                 {
    176                     this.OnPropertyChanged("ModifiedTime", _oldvalue, _modifiedTime);
    177                     this.OnMappingPropertyChanged("ModifiedTime", _oldvalue, _modifiedTime);
    178                 }
    179             }
    180         }
    181         private string _remark;
    182 
    183         /// <summary>
    184         /// .
    185         /// </summary>
    186         [ColumnMapping(Name = "Remark")]
    187         public string Remark
    188         {
    189             get
    190             {
    191                 return _remark;
    192             }
    193             set
    194             {
    195                 object _oldvalue = _remark;
    196                 _remark = value.SubStr(120);
    197 
    198                 if ((value == null) || (!value.Equals(_oldvalue)))
    199                 {
    200                     this.OnPropertyChanged("Remark", _oldvalue, _remark);
    201                     this.OnMappingPropertyChanged("Remark", _oldvalue, _remark);
    202                 }
    203             }
    204         }
    205 
    206         private Guid? _subsubcategoryguid;
    207 
    208         /// <summary>
    209         /// 一级菜单GUID.
    210         /// </summary>
    211         [ColumnMapping(Name = "SubSubCategoryGuid")]
    212         public Guid? SubSubCategoryGuid
    213         {
    214             get
    215             {
    216                 return _subsubcategoryguid;
    217             }
    218             set
    219             {
    220                 object _oldvalue = _subsubcategoryguid;
    221                 _subsubcategoryguid = value;
    222 
    223                 if ((value == null) || (!value.Equals(_oldvalue)))
    224                 {
    225                     this.OnPropertyChanged("SubSubCategoryGuid", _oldvalue, _subsubcategoryguid);
    226                     this.OnMappingPropertyChanged("SubSubCategoryGuid", _oldvalue, _subsubcategoryguid);
    227                 }
    228             }
    229         }
    230     }
    231 }
    subsubcategoryinfo
      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using System.Text.RegularExpressions;
      6 using System.Net;
      7 using System.IO;
      8 
      9 namespace PageGather
     10 {
     11     public class UrlPageHtml
     12     {
     13         /// <summary>
     14         /// 生成正则表达式
     15         /// </summary>
     16         /// <param name="start"></param>
     17         /// <param name="end"></param>
     18         /// <returns></returns>
     19         public static string CreateNaviRule(string start, string end)
     20         {
     21             string reg = @"(?<=";
     22 
     23             string s = start.Replace("(", @"(");
     24             s = s.Replace(")", @")");
     25 
     26             s = Regex.Replace(s, @"([
    ])[s]+", "", RegexOptions.IgnoreCase | RegexOptions.Multiline);
     27             s = s.Replace(@"
    ", "");
     28 
     29 
     30             string e = end.Replace("(", @"(");
     31             e = e.Replace(")", @")");
     32 
     33             e = Regex.Replace(e, @"([
    ])[s]+", "", RegexOptions.IgnoreCase | RegexOptions.Multiline);
     34             e = e.Replace(@"
    ", "");
     35 
     36             reg += s + ")[^>]+?(?=";
     37             reg += e + ")";
     38 
     39             return reg;
     40         }
     41         /// <summary>
     42         /// 获取网页源码
     43         /// </summary>
     44         /// <param name="url">请求地址</param>
     45         /// <returns></returns>
     46         public static string GetHtml(string url)
     47         {
     48             string responseFromServer = "";
     49             try
     50             {
     51                 Encoding encoding = System.Text.Encoding.Default;
     52                 WebRequest request = WebRequest.Create(url);
     53                 request.Credentials = CredentialCache.DefaultCredentials;
     54                 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
     55                 string charset = "";
     56                 if (response.StatusDescription.ToUpper() == "OK")
     57                 {
     58                     charset = response.CharacterSet.ToLower();
     59                     switch (response.CharacterSet.ToLower())
     60                     {
     61                         case "gbk":
     62                             encoding = Encoding.GetEncoding("GBK");//貌似用GB2312就可以
     63                             break;
     64                         case "gb2312":
     65                             encoding = Encoding.GetEncoding("GB2312");
     66                             break;
     67                         case "utf-8":
     68                             encoding = Encoding.UTF8;
     69                             break;
     70                         case "big5":
     71                             encoding = Encoding.GetEncoding("Big5");
     72                             break;
     73                         case "iso-8859-1":
     74                             encoding = Encoding.UTF8;//ISO-8859-1的编码用UTF-8处理,致少优酷的是这种方法没有乱码
     75                             break;
     76                         default:
     77                             encoding = Encoding.UTF8;//如果分析不出来就用的UTF-8
     78                             break;
     79                     }
     80                     // this.Literal1.Text = "Lenght:" + response.ContentLength.ToString() + "<br>CharacterSet:" + response.CharacterSet + "<br>Headers:" + response.Headers + "<br>";
     81                     Stream dataStream = response.GetResponseStream();
     82                     StreamReader reader = new StreamReader(dataStream, encoding);
     83                     responseFromServer = reader.ReadToEnd();
     84                     reader.Close();
     85                     dataStream.Close();
     86                     response.Close();
     87                     if (charset == "iso-8859-1")
     88                     {
     89                         Match charSetMatch = Regex.Match(responseFromServer, "charset=(?<code>[a-zA-Z0-9\-]+)", RegexOptions.IgnoreCase);
     90                         string sChartSet = charSetMatch.Groups["code"].Value;
     91                         if (!string.IsNullOrEmpty(sChartSet) && !sChartSet.Equals("utf-8", StringComparison.OrdinalIgnoreCase))
     92                         {
     93                             encoding = Encoding.GetEncoding(sChartSet);
     94                             WebRequest request1 = WebRequest.Create(url);
     95                             request1.Credentials = CredentialCache.DefaultCredentials;
     96                             HttpWebResponse response1 = (HttpWebResponse)request1.GetResponse();
     97                             Stream dataStream1 = response1.GetResponseStream();
     98                             StreamReader reader1 = new StreamReader(dataStream1, encoding);
     99                             responseFromServer = reader1.ReadToEnd();
    100                             reader1.Close();
    101                             dataStream1.Close();
    102                             response1.Close();
    103                         }
    104 
    105                     }
    106 
    107                     reader.Close();
    108                     dataStream.Close();
    109                     response.Close();
    110                 }
    111 
    112             }
    113             catch
    114             {
    115                 return "";
    116             }
    117             return responseFromServer;
    118         }
    119 
    120         /// <summary>
    121         /// 获取页面上匹配上多个链接地址
    122         /// </summary>
    123         /// <param name="html">页面源码</param>
    124         /// <param name="strReg">正则表达式</param>
    125         /// <returns></returns>
    126         public static List<string> GetLink(string html, string strReg, string url)
    127         {
    128             MatchCollection mc = Regex.Matches(html, strReg, RegexOptions.IgnoreCase | RegexOptions.Multiline);
    129             List<string> list = new List<string>();
    130             foreach (Match m in mc)
    131             {
    132                 if (m.Value.StartsWith("http://"))
    133                     list.Add(m.Value.Replace("&amp;", "&"));
    134                 else
    135                 {
    136                     if (m.Value.StartsWith("/"))
    137                         list.Add(url + m.Value.Replace("&amp;", "&"));
    138                     else
    139                         list.Add(url + "/" + m.Value.Replace("&amp;", "&"));
    140                 }
    141             }
    142             return list;
    143         }
    144         /// <summary>
    145         /// 获取一级菜单 链接
    146         /// </summary>
    147         /// <param name="html"></param>
    148         /// <param name="FromUrl"></param>
    149         /// <returns></returns>
    150         public static string GetUrl(string html, string FromUrl)
    151         {
    152             string strReg = UrlPageHtml.CreateNaviRule("<a href="", "" wt_name=");
    153             string url = "";
    154             url = System.Text.RegularExpressions.Regex.Match(html, strReg, System.Text.RegularExpressions.RegexOptions.Singleline).ToString();
    155             if (url.StartsWith("http://"))
    156                 url = url.Replace("&amp;", "&");
    157             else if (url.StartsWith("/"))
    158                 url = FromUrl + url.Replace("&amp;", "&");
    159             else
    160                 url = FromUrl + "/" + url.Replace("&amp;", "&");
    161             return url;
    162         }
    163         /// <summary>
    164         /// 获取二级菜单 链接
    165         /// </summary>
    166         /// <param name="html"></param>
    167         /// <param name="FromUrl"></param>
    168         /// <returns></returns>
    169         public static string GetTwoUrl(string html, string FromUrl)
    170         {
    171             string strReg = UrlPageHtml.CreateNaviRule("style="white-space:nowrap;" href="", """);
    172             string url = "";
    173             url = System.Text.RegularExpressions.Regex.Match(html, strReg, System.Text.RegularExpressions.RegexOptions.Singleline).ToString();
    174             if (url.StartsWith("http://"))
    175                 url = url.Replace("&amp;", "&");
    176             else if (url.StartsWith("/"))
    177                 url = FromUrl + url.Replace("&amp;", "&");
    178             else
    179                 url = FromUrl + "/" + url.Replace("&amp;", "&");
    180             return url;
    181         }
    182         public static string GetImgUrl1(string html)
    183         {
    184             string strReg = UrlPageHtml.CreateNaviRule("src="", """);
    185             string url = "";
    186             url = System.Text.RegularExpressions.Regex.Match(html, strReg, System.Text.RegularExpressions.RegexOptions.Singleline).ToString();
    187             return url;
    188         }
    189         public static string GetImgUrl2(string html)
    190         {
    191             string strReg = UrlPageHtml.CreateNaviRule("zoomimg="", """);
    192             string url = "";
    193             url = System.Text.RegularExpressions.Regex.Match(html, strReg, System.Text.RegularExpressions.RegexOptions.Singleline).ToString();
    194             return url;
    195         }
    196         /// <summary>
    197         /// 获取页码总数
    198         /// </summary>
    199         /// <param name="html"></param>
    200         /// <param name="strReg"></param>
    201         /// <returns></returns>
    202         public static int GetPageTotal(string html, string strReg)
    203         {
    204             MatchCollection mc = Regex.Matches(html, strReg, RegexOptions.IgnoreCase | RegexOptions.Multiline);
    205             string PageCount = "1";
    206             foreach (Match m in mc)
    207             {
    208                 PageCount = m.Value;
    209                 break;
    210             }
    211             return Convert.ToInt32(PageCount);
    212         }
    213        
    214     }
    215 }
    urlpagehtml
      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using System.Net;
      6 using System.Xml;
      7 using System.IO;
      8 
      9 namespace PageGather
     10 {
     11     public class UtilityHandler
     12     {
     13 
     14         private static readonly string DefaultUserAgent = "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; TCO_20140610114638; rv:11.0) like Gecko";
     15 
     16         public static string HttpGet(string Url, string postDataStr)
     17         {
     18             string retString = "";
     19             try
     20             {
     21                 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + postDataStr); request.Method = "GET";
     22                 request.ContentType = "text/html;charset=UTF-8";
     23 
     24                 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
     25                 Stream myResponseStream = response.GetResponseStream();
     26                 StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
     27                 retString = myStreamReader.ReadToEnd();
     28                 myStreamReader.Close();
     29                 myResponseStream.Close();
     30             }
     31             catch
     32             {
     33             }
     34 
     35 
     36             return retString;
     37         }
     38 
     39         public static XmlDocument HttpPostXml(string Url, string postDataStr)
     40         {
     41             XmlDocument xd = new XmlDocument();
     42             try
     43             {
     44                 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + postDataStr);
     45                 request.Method = "GET";
     46                 request.ContentType = "text/xml; charset=utf-8";//application/xml
     47 
     48                 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
     49                 Stream myResponseStream = response.GetResponseStream();
     50                 xd.Load(myResponseStream);
     51                 myResponseStream.Close();
     52             }
     53             catch
     54             {
     55                 return null;
     56             }
     57             return xd;
     58         }
     59 
     60 
     61 
     62 
     63         public static Stream HttpGetByUtf(string Url, string postDataStr)
     64         {
     65             Stream result = null;
     66             try
     67             {
     68                 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + postDataStr); request.Method = "GET";
     69                 request.ContentType = "text/html;charset=UTF-8";
     70 
     71                 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
     72                 result = response.GetResponseStream();
     73                 //StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
     74                 //retString = myStreamReader.ReadToEnd();
     75                 //result.Close();
     76                 //myResponseStream.Close();
     77             }
     78             catch
     79             {
     80             }
     81             return result;
     82         }
     83 
     84 
     85         public static string HttpGetForDigiKey(string Url)
     86         {
     87             string retString = "";
     88 
     89             try
     90             {
     91                 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
     92 
     93                 request.CookieContainer = new CookieContainer();
     94                 request.Method = "GET";
     95                 request.Headers["Accept-Encoding"] = "gzip,deflate";
     96                 request.UserAgent = DefaultUserAgent;
     97                 request.ContentType = "text/html;charset=UTF-8";
     98                 request.KeepAlive = true;
     99                 request.Timeout = 10000;
    100                 request.Accept = "text/html, application/xhtml+xml, */*";
    101 
    102                 request.AutomaticDecompression = DecompressionMethods.GZip;
    103 
    104                 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    105                 Stream myResponseStream = response.GetResponseStream();
    106                 StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
    107                 retString = myStreamReader.ReadToEnd();
    108                 myStreamReader.Close();
    109                 myResponseStream.Close();
    110 
    111                 /*
    112                 FileStream fs = new FileStream(@"d:	est.html", FileMode.Create);
    113                 StreamWriter sw = new StreamWriter(fs);
    114                 sw.Write(retString);
    115                 sw.Close();
    116                 fs.Close();
    117                 */
    118             }
    119             catch
    120             {
    121             }
    122 
    123             return retString;
    124         }
    125 
    126 
    127     }
    128 }
    utilityhandler

    连接字符串写在xml中

       1 <?xml version="1.0" encoding="utf-8"?>
       2 <ArrayOfTableConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       3     <TableConfiguration>
       4         <Name>AdmMenu</Name>
       5         <DivisionFieldType>Int</DivisionFieldType>
       6         <Blocks>
       7             <DataBlock>
       8                 <Status>Ready</Status>
       9                 <BeginExpression>Min</BeginExpression>
      10                 <EndExpression>Max</EndExpression>
      11                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
      12                 <DivisionField />
      13                 <DivisionFieldType>String</DivisionFieldType>
      14             </DataBlock>
      15         </Blocks>
      16         <TargetBlocks />
      17     </TableConfiguration>
      18   <TableConfiguration>
      19     <Name>InviteUserInfo</Name>
      20     <DivisionFieldType>Int</DivisionFieldType>
      21     <Blocks>
      22       <DataBlock>
      23         <Status>Ready</Status>
      24         <BeginExpression>Min</BeginExpression>
      25         <EndExpression>Max</EndExpression>
      26         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
      27         <DivisionField />
      28         <DivisionFieldType>String</DivisionFieldType>
      29       </DataBlock>
      30     </Blocks>
      31     <TargetBlocks />
      32   </TableConfiguration>
      33     <TableConfiguration>
      34         <Name>AdmUserInfo</Name>
      35         <DivisionFieldType>Int</DivisionFieldType>
      36         <Blocks>
      37             <DataBlock>
      38                 <Status>Ready</Status>
      39                 <BeginExpression>Min</BeginExpression>
      40                 <EndExpression>Max</EndExpression>
      41                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
      42                 <DivisionField />
      43                 <DivisionFieldType>String</DivisionFieldType>
      44             </DataBlock>
      45         </Blocks>
      46         <TargetBlocks />
      47     </TableConfiguration>
      48     <TableConfiguration>
      49         <Name>AdmUserTrans</Name>
      50         <DivisionFieldType>Int</DivisionFieldType>
      51         <Blocks>
      52             <DataBlock>
      53                 <Status>Ready</Status>
      54                 <BeginExpression>Min</BeginExpression>
      55                 <EndExpression>Max</EndExpression>
      56                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
      57                 <DivisionField />
      58                 <DivisionFieldType>String</DivisionFieldType>
      59             </DataBlock>
      60         </Blocks>
      61         <TargetBlocks />
      62     </TableConfiguration>
      63     <TableConfiguration>
      64         <Name>AdmModele</Name>
      65         <DivisionFieldType>Int</DivisionFieldType>
      66         <Blocks>
      67             <DataBlock>
      68                 <Status>Ready</Status>
      69                 <BeginExpression>Min</BeginExpression>
      70                 <EndExpression>Max</EndExpression>
      71                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
      72                 <DivisionField />
      73                 <DivisionFieldType>String</DivisionFieldType>
      74             </DataBlock>
      75         </Blocks>
      76         <TargetBlocks />
      77     </TableConfiguration>
      78     <TableConfiguration>
      79         <Name>AdmAdminRose</Name>
      80         <DivisionFieldType>Int</DivisionFieldType>
      81         <Blocks>
      82             <DataBlock>
      83                 <Status>Ready</Status>
      84                 <BeginExpression>Min</BeginExpression>
      85                 <EndExpression>Max</EndExpression>
      86                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
      87                 <DivisionField />
      88                 <DivisionFieldType>String</DivisionFieldType>
      89             </DataBlock>
      90         </Blocks>
      91         <TargetBlocks />
      92     </TableConfiguration>
      93     <TableConfiguration>
      94         <Name>AdmModeleGroup</Name>
      95         <DivisionFieldType>Int</DivisionFieldType>
      96         <Blocks>
      97             <DataBlock>
      98                 <Status>Ready</Status>
      99                 <BeginExpression>Min</BeginExpression>
     100                 <EndExpression>Max</EndExpression>
     101                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     102                 <DivisionField />
     103                 <DivisionFieldType>String</DivisionFieldType>
     104             </DataBlock>
     105         </Blocks>
     106         <TargetBlocks />
     107     </TableConfiguration>
     108     <TableConfiguration>
     109         <Name>AdmPage</Name>
     110         <DivisionFieldType>Int</DivisionFieldType>
     111         <Blocks>
     112             <DataBlock>
     113                 <Status>Ready</Status>
     114                 <BeginExpression>Min</BeginExpression>
     115                 <EndExpression>Max</EndExpression>
     116                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     117                 <DivisionField />
     118                 <DivisionFieldType>String</DivisionFieldType>
     119             </DataBlock>
     120         </Blocks>
     121         <TargetBlocks />
     122     </TableConfiguration>
     123     <TableConfiguration>
     124         <Name>AdmRose</Name>
     125         <DivisionFieldType>Int</DivisionFieldType>
     126         <Blocks>
     127             <DataBlock>
     128                 <Status>Ready</Status>
     129                 <BeginExpression>Min</BeginExpression>
     130                 <EndExpression>Max</EndExpression>
     131                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     132                 <DivisionField />
     133                 <DivisionFieldType>String</DivisionFieldType>
     134             </DataBlock>
     135         </Blocks>
     136         <TargetBlocks />
     137     </TableConfiguration>
     138     <TableConfiguration>
     139         <Name>AdmRoseModele</Name>
     140         <DivisionFieldType>Int</DivisionFieldType>
     141         <Blocks>
     142             <DataBlock>
     143                 <Status>Ready</Status>
     144                 <BeginExpression>Min</BeginExpression>
     145                 <EndExpression>Max</EndExpression>
     146                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     147                 <DivisionField />
     148                 <DivisionFieldType>String</DivisionFieldType>
     149             </DataBlock>
     150         </Blocks>
     151         <TargetBlocks />
     152     </TableConfiguration>
     153     <TableConfiguration>
     154         <Name>UserInfo</Name>
     155         <DivisionFieldType>Int</DivisionFieldType>
     156         <Blocks>
     157             <DataBlock>
     158                 <Status>Ready</Status>
     159                 <BeginExpression>Min</BeginExpression>
     160                 <EndExpression>Max</EndExpression>
     161                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     162                 <DivisionField />
     163                 <DivisionFieldType>String</DivisionFieldType>
     164             </DataBlock>
     165         </Blocks>
     166         <TargetBlocks />
     167     </TableConfiguration>
     168     <TableConfiguration>
     169         <Name>UserLoginLog</Name>
     170         <DivisionFieldType>Int</DivisionFieldType>
     171         <Blocks>
     172             <DataBlock>
     173                 <Status>Ready</Status>
     174                 <BeginExpression>Min</BeginExpression>
     175                 <EndExpression>Max</EndExpression>
     176                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     177                 <DivisionField />
     178                 <DivisionFieldType>String</DivisionFieldType>
     179             </DataBlock>
     180         </Blocks>
     181         <TargetBlocks />
     182     </TableConfiguration>
     183     <TableConfiguration>
     184         <Name>UserPasswordLog</Name>
     185         <DivisionFieldType>Int</DivisionFieldType>
     186         <Blocks>
     187             <DataBlock>
     188                 <Status>Ready</Status>
     189                 <BeginExpression>Min</BeginExpression>
     190                 <EndExpression>Max</EndExpression>
     191                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     192                 <DivisionField />
     193                 <DivisionFieldType>String</DivisionFieldType>
     194             </DataBlock>
     195         </Blocks>
     196         <TargetBlocks />
     197     </TableConfiguration>
     198     <TableConfiguration>
     199         <Name>UserCart</Name>
     200         <DivisionFieldType>Int</DivisionFieldType>
     201         <Blocks>
     202             <DataBlock>
     203                 <Status>Ready</Status>
     204                 <BeginExpression>Min</BeginExpression>
     205                 <EndExpression>Max</EndExpression>
     206                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     207                 <DivisionField />
     208                 <DivisionFieldType>String</DivisionFieldType>
     209             </DataBlock>
     210         </Blocks>
     211         <TargetBlocks />
     212     </TableConfiguration>
     213     <TableConfiguration>
     214         <Name>UserOrder</Name>
     215         <DivisionFieldType>Int</DivisionFieldType>
     216         <Blocks>
     217             <DataBlock>
     218                 <Status>Ready</Status>
     219                 <BeginExpression>Min</BeginExpression>
     220                 <EndExpression>Max</EndExpression>
     221                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     222                 <DivisionField />
     223                 <DivisionFieldType>String</DivisionFieldType>
     224             </DataBlock>
     225         </Blocks>
     226         <TargetBlocks />
     227     </TableConfiguration>
     228     <TableConfiguration>
     229         <Name>UserOrderProduct</Name>
     230         <DivisionFieldType>Int</DivisionFieldType>
     231         <Blocks>
     232             <DataBlock>
     233                 <Status>Ready</Status>
     234                 <BeginExpression>Min</BeginExpression>
     235                 <EndExpression>Max</EndExpression>
     236                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     237                 <DivisionField />
     238                 <DivisionFieldType>String</DivisionFieldType>
     239             </DataBlock>
     240         </Blocks>
     241         <TargetBlocks />
     242     </TableConfiguration>
     243     <TableConfiguration>
     244         <Name>UserOrderInvoice</Name>
     245         <DivisionFieldType>Int</DivisionFieldType>
     246         <Blocks>
     247             <DataBlock>
     248                 <Status>Ready</Status>
     249                 <BeginExpression>Min</BeginExpression>
     250                 <EndExpression>Max</EndExpression>
     251                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     252                 <DivisionField />
     253                 <DivisionFieldType>String</DivisionFieldType>
     254             </DataBlock>
     255         </Blocks>
     256         <TargetBlocks />
     257     </TableConfiguration>
     258     <TableConfiguration>
     259         <Name>UserOrderLog</Name>
     260         <DivisionFieldType>Int</DivisionFieldType>
     261         <Blocks>
     262             <DataBlock>
     263                 <Status>Ready</Status>
     264                 <BeginExpression>Min</BeginExpression>
     265                 <EndExpression>Max</EndExpression>
     266                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     267                 <DivisionField />
     268                 <DivisionFieldType>String</DivisionFieldType>
     269             </DataBlock>
     270         </Blocks>
     271         <TargetBlocks />
     272     </TableConfiguration>    
     273     <TableConfiguration>
     274         <Name>UserEnquiryPrice</Name>
     275         <DivisionFieldType>Int</DivisionFieldType>
     276         <Blocks>
     277             <DataBlock>
     278                 <Status>Ready</Status>
     279                 <BeginExpression>Min</BeginExpression>
     280                 <EndExpression>Max</EndExpression>
     281                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     282                 <DivisionField />
     283                 <DivisionFieldType>String</DivisionFieldType>
     284             </DataBlock>
     285         </Blocks>
     286         <TargetBlocks />
     287     </TableConfiguration>
     288     <TableConfiguration>
     289         <Name>UserQuotedPrice</Name>
     290         <DivisionFieldType>Int</DivisionFieldType>
     291         <Blocks>
     292             <DataBlock>
     293                 <Status>Ready</Status>
     294                 <BeginExpression>Min</BeginExpression>
     295                 <EndExpression>Max</EndExpression>
     296                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     297                 <DivisionField />
     298                 <DivisionFieldType>String</DivisionFieldType>
     299             </DataBlock>
     300         </Blocks>
     301         <TargetBlocks />
     302     </TableConfiguration>
     303     <TableConfiguration>
     304         <Name>UserProductMonitor</Name>
     305         <DivisionFieldType>Int</DivisionFieldType>
     306         <Blocks>
     307             <DataBlock>
     308                 <Status>Ready</Status>
     309                 <BeginExpression>Min</BeginExpression>
     310                 <EndExpression>Max</EndExpression>
     311                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     312                 <DivisionField />
     313                 <DivisionFieldType>String</DivisionFieldType>
     314             </DataBlock>
     315         </Blocks>
     316         <TargetBlocks />
     317     </TableConfiguration>
     318     <TableConfiguration>
     319         <Name>UserProductMonitorReply</Name>
     320         <DivisionFieldType>Int</DivisionFieldType>
     321         <Blocks>
     322             <DataBlock>
     323                 <Status>Ready</Status>
     324                 <BeginExpression>Min</BeginExpression>
     325                 <EndExpression>Max</EndExpression>
     326                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     327                 <DivisionField />
     328                 <DivisionFieldType>String</DivisionFieldType>
     329             </DataBlock>
     330         </Blocks>
     331         <TargetBlocks />
     332     </TableConfiguration>
     333     <TableConfiguration>
     334         <Name>SupplierInfo</Name>
     335         <DivisionFieldType>Int</DivisionFieldType>
     336         <Blocks>
     337             <DataBlock>
     338                 <Status>Ready</Status>
     339                 <BeginExpression>Min</BeginExpression>
     340                 <EndExpression>Max</EndExpression>
     341                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     342                 <DivisionField />
     343                 <DivisionFieldType>String</DivisionFieldType>
     344             </DataBlock>
     345         </Blocks>
     346         <TargetBlocks />
     347     </TableConfiguration>
     348     <TableConfiguration>
     349         <Name>ProductInfo</Name>
     350         <DivisionFieldType>Int</DivisionFieldType>
     351         <Blocks>
     352             <DataBlock>
     353                 <Status>Ready</Status>
     354                 <BeginExpression>Min</BeginExpression>
     355                 <EndExpression>Max</EndExpression>
     356                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     357                 <DivisionField />
     358                 <DivisionFieldType>String</DivisionFieldType>
     359             </DataBlock>
     360         </Blocks>
     361         <TargetBlocks />
     362     </TableConfiguration>
     363     <TableConfiguration>
     364         <Name>ProductPrice</Name>
     365         <DivisionFieldType>Int</DivisionFieldType>
     366         <Blocks>
     367             <DataBlock>
     368                 <Status>Ready</Status>
     369                 <BeginExpression>Min</BeginExpression>
     370                 <EndExpression>Max</EndExpression>
     371                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     372                 <DivisionField />
     373                 <DivisionFieldType>String</DivisionFieldType>
     374             </DataBlock>
     375         </Blocks>
     376         <TargetBlocks />
     377     </TableConfiguration>
     378     <TableConfiguration>
     379         <Name>DeliveryAddress</Name>
     380         <DivisionFieldType>Int</DivisionFieldType>
     381         <Blocks>
     382             <DataBlock>
     383                 <Status>Ready</Status>
     384                 <BeginExpression>Min</BeginExpression>
     385                 <EndExpression>Max</EndExpression>
     386                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     387                 <DivisionField />
     388                 <DivisionFieldType>String</DivisionFieldType>
     389             </DataBlock>
     390         </Blocks>
     391         <TargetBlocks />
     392     </TableConfiguration>
     393     <TableConfiguration>
     394         <Name>DeliveryExpressFee</Name>
     395         <DivisionFieldType>Int</DivisionFieldType>
     396         <Blocks>
     397             <DataBlock>
     398                 <Status>Ready</Status>
     399                 <BeginExpression>Min</BeginExpression>
     400                 <EndExpression>Max</EndExpression>
     401                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     402                 <DivisionField />
     403                 <DivisionFieldType>String</DivisionFieldType>
     404             </DataBlock>
     405         </Blocks>
     406         <TargetBlocks />
     407     </TableConfiguration>
     408     <TableConfiguration>
     409         <Name>ExchangeRateInfo</Name>
     410         <DivisionFieldType>Int</DivisionFieldType>
     411         <Blocks>
     412             <DataBlock>
     413                 <Status>Ready</Status>
     414                 <BeginExpression>Min</BeginExpression>
     415                 <EndExpression>Max</EndExpression>
     416                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     417                 <DivisionField />
     418                 <DivisionFieldType>String</DivisionFieldType>
     419             </DataBlock>
     420         </Blocks>
     421         <TargetBlocks />
     422     </TableConfiguration>
     423     <TableConfiguration>
     424         <Name>SupplierRebate</Name>
     425         <DivisionFieldType>Int</DivisionFieldType>
     426         <Blocks>
     427             <DataBlock>
     428                 <Status>Ready</Status>
     429                 <BeginExpression>Min</BeginExpression>
     430                 <EndExpression>Max</EndExpression>
     431                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     432                 <DivisionField />
     433                 <DivisionFieldType>String</DivisionFieldType>
     434             </DataBlock>
     435         </Blocks>
     436         <TargetBlocks />
     437     </TableConfiguration>
     438     <TableConfiguration>
     439         <Name>SysDocCategory</Name>
     440         <DivisionFieldType>Int</DivisionFieldType>
     441         <Blocks>
     442             <DataBlock>
     443                 <Status>Ready</Status>
     444                 <BeginExpression>Min</BeginExpression>
     445                 <EndExpression>Max</EndExpression>
     446                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     447                 <DivisionField />
     448                 <DivisionFieldType>String</DivisionFieldType>
     449             </DataBlock>
     450         </Blocks>
     451         <TargetBlocks />
     452     </TableConfiguration>
     453     <TableConfiguration>
     454         <Name>SysDocInfo</Name>
     455         <DivisionFieldType>Int</DivisionFieldType>
     456         <Blocks>
     457             <DataBlock>
     458                 <Status>Ready</Status>
     459                 <BeginExpression>Min</BeginExpression>
     460                 <EndExpression>Max</EndExpression>
     461                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     462                 <DivisionField />
     463                 <DivisionFieldType>String</DivisionFieldType>
     464             </DataBlock>
     465         </Blocks>
     466         <TargetBlocks />
     467     </TableConfiguration>
     468     <TableConfiguration>
     469         <Name>SmsPlatform</Name>
     470         <DivisionFieldType>Int</DivisionFieldType>
     471         <Blocks>
     472             <DataBlock>
     473                 <Status>Ready</Status>
     474                 <BeginExpression>Min</BeginExpression>
     475                 <EndExpression>Max</EndExpression>
     476                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     477                 <DivisionField />
     478                 <DivisionFieldType>String</DivisionFieldType>
     479             </DataBlock>
     480         </Blocks>
     481         <TargetBlocks />
     482     </TableConfiguration>
     483     <TableConfiguration>
     484         <Name>SmsProject</Name>
     485         <DivisionFieldType>Int</DivisionFieldType>
     486         <Blocks>
     487             <DataBlock>
     488                 <Status>Ready</Status>
     489                 <BeginExpression>Min</BeginExpression>
     490                 <EndExpression>Max</EndExpression>
     491                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     492                 <DivisionField />
     493                 <DivisionFieldType>String</DivisionFieldType>
     494             </DataBlock>
     495         </Blocks>
     496         <TargetBlocks />
     497     </TableConfiguration>
     498     <TableConfiguration>
     499         <Name>SmsSendLog</Name>
     500         <DivisionFieldType>Int</DivisionFieldType>
     501         <Blocks>
     502             <DataBlock>
     503                 <Status>Ready</Status>
     504                 <BeginExpression>Min</BeginExpression>
     505                 <EndExpression>Max</EndExpression>
     506                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     507                 <DivisionField />
     508                 <DivisionFieldType>String</DivisionFieldType>
     509             </DataBlock>
     510         </Blocks>
     511         <TargetBlocks />
     512     </TableConfiguration>
     513     <TableConfiguration>
     514         <Name>SmsValidateCode</Name>
     515         <DivisionFieldType>Int</DivisionFieldType>
     516         <Blocks>
     517             <DataBlock>
     518                 <Status>Ready</Status>
     519                 <BeginExpression>Min</BeginExpression>
     520                 <EndExpression>Max</EndExpression>
     521                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     522                 <DivisionField />
     523                 <DivisionFieldType>String</DivisionFieldType>
     524             </DataBlock>
     525         </Blocks>
     526         <TargetBlocks />
     527     </TableConfiguration>
     528     <TableConfiguration>
     529         <Name>DeliveryAddress</Name>
     530         <DivisionFieldType>Int</DivisionFieldType>
     531         <Blocks>
     532             <DataBlock>
     533                 <Status>Ready</Status>
     534                 <BeginExpression>Min</BeginExpression>
     535                 <EndExpression>Max</EndExpression>
     536                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     537                 <DivisionField />
     538                 <DivisionFieldType>String</DivisionFieldType>
     539             </DataBlock>
     540         </Blocks>
     541         <TargetBlocks />
     542     </TableConfiguration>
     543     <TableConfiguration>
     544         <Name>UserConsigneeInfo</Name>
     545         <DivisionFieldType>Int</DivisionFieldType>
     546         <Blocks>
     547             <DataBlock>
     548                 <Status>Ready</Status>
     549                 <BeginExpression>Min</BeginExpression>
     550                 <EndExpression>Max</EndExpression>
     551                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     552                 <DivisionField />
     553                 <DivisionFieldType>String</DivisionFieldType>
     554             </DataBlock>
     555         </Blocks>
     556         <TargetBlocks />
     557     </TableConfiguration>
     558     <TableConfiguration>
     559         <Name>UserMsg</Name>
     560         <DivisionFieldType>Int</DivisionFieldType>
     561         <Blocks>
     562             <DataBlock>
     563                 <Status>Ready</Status>
     564                 <BeginExpression>Min</BeginExpression>
     565                 <EndExpression>Max</EndExpression>
     566                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     567                 <DivisionField />
     568                 <DivisionFieldType>String</DivisionFieldType>
     569             </DataBlock>
     570         </Blocks>
     571         <TargetBlocks />
     572     </TableConfiguration>
     573     <TableConfiguration>
     574         <Name>IncreaseCode</Name>
     575         <DivisionFieldType>Int</DivisionFieldType>
     576         <Blocks>
     577             <DataBlock>
     578                 <Status>Ready</Status>
     579                 <BeginExpression>Min</BeginExpression>
     580                 <EndExpression>Max</EndExpression>
     581                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     582                 <DivisionField />
     583                 <DivisionFieldType>String</DivisionFieldType>
     584             </DataBlock>
     585         </Blocks>
     586         <TargetBlocks />
     587     </TableConfiguration>
     588     <TableConfiguration>
     589         <Name>UserTPAccount</Name>
     590         <DivisionFieldType>Int</DivisionFieldType>
     591         <Blocks>
     592             <DataBlock>
     593                 <Status>Ready</Status>
     594                 <BeginExpression>Min</BeginExpression>
     595                 <EndExpression>Max</EndExpression>
     596                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     597                 <DivisionField />
     598                 <DivisionFieldType>String</DivisionFieldType>
     599             </DataBlock>
     600         </Blocks>
     601         <TargetBlocks />
     602     </TableConfiguration>
     603     <TableConfiguration>
     604         <Name>FriendlyLink</Name>
     605         <DivisionFieldType>Int</DivisionFieldType>
     606         <Blocks>
     607             <DataBlock>
     608                 <Status>Ready</Status>
     609                 <BeginExpression>Min</BeginExpression>
     610                 <EndExpression>Max</EndExpression>
     611                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     612                 <DivisionField />
     613                 <DivisionFieldType>String</DivisionFieldType>
     614             </DataBlock>
     615         </Blocks>
     616         <TargetBlocks />
     617     </TableConfiguration>
     618     <TableConfiguration>
     619         <Name>ProductSearchLog</Name>
     620         <DivisionFieldType>Int</DivisionFieldType>
     621         <Blocks>
     622             <DataBlock>
     623                 <Status>Ready</Status>
     624                 <BeginExpression>Min</BeginExpression>
     625                 <EndExpression>Max</EndExpression>
     626                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     627                 <DivisionField />
     628                 <DivisionFieldType>String</DivisionFieldType>
     629             </DataBlock>
     630         </Blocks>
     631         <TargetBlocks />
     632     </TableConfiguration>
     633     <TableConfiguration>
     634         <Name>ProductWildcard</Name>
     635         <DivisionFieldType>Int</DivisionFieldType>
     636         <Blocks>
     637             <DataBlock>
     638                 <Status>Ready</Status>
     639                 <BeginExpression>Min</BeginExpression>
     640                 <EndExpression>Max</EndExpression>
     641                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     642                 <DivisionField />
     643                 <DivisionFieldType>String</DivisionFieldType>
     644             </DataBlock>
     645         </Blocks>
     646         <TargetBlocks />
     647     </TableConfiguration>
     648   <TableConfiguration>
     649     <Name>EBankExceptionLog</Name>
     650     <DivisionFieldType>Int</DivisionFieldType>
     651     <Blocks>
     652       <DataBlock>
     653         <Status>Ready</Status>
     654         <BeginExpression>Min</BeginExpression>
     655         <EndExpression>Max</EndExpression>
     656         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     657         <DivisionField />
     658         <DivisionFieldType>String</DivisionFieldType>
     659       </DataBlock>
     660     </Blocks>
     661     <TargetBlocks />
     662   </TableConfiguration>
     663   <TableConfiguration>
     664     <Name>ADPostion</Name>
     665     <DivisionFieldType>Int</DivisionFieldType>
     666     <Blocks>
     667       <DataBlock>
     668         <Status>Ready</Status>
     669         <BeginExpression>Min</BeginExpression>
     670         <EndExpression>Max</EndExpression>
     671         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     672         <DivisionField />
     673         <DivisionFieldType>String</DivisionFieldType>
     674       </DataBlock>
     675     </Blocks>
     676     <TargetBlocks />
     677   </TableConfiguration>
     678   <TableConfiguration>
     679     <Name>ADInfo</Name>
     680     <DivisionFieldType>Int</DivisionFieldType>
     681     <Blocks>
     682       <DataBlock>
     683         <Status>Ready</Status>
     684         <BeginExpression>Min</BeginExpression>
     685         <EndExpression>Max</EndExpression>
     686         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     687         <DivisionField />
     688         <DivisionFieldType>String</DivisionFieldType>
     689       </DataBlock>
     690     </Blocks>
     691     <TargetBlocks />
     692   </TableConfiguration>
     693     <TableConfiguration>
     694         <Name>SupplierRebateLog</Name>
     695         <DivisionFieldType>Int</DivisionFieldType>
     696         <Blocks>
     697             <DataBlock>
     698                 <Status>Ready</Status>
     699                 <BeginExpression>Min</BeginExpression>
     700                 <EndExpression>Max</EndExpression>
     701                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     702                 <DivisionField />
     703                 <DivisionFieldType>String</DivisionFieldType>
     704             </DataBlock>
     705         </Blocks>
     706         <TargetBlocks />
     707     </TableConfiguration>
     708     <TableConfiguration>
     709         <Name>UserCartProduct</Name>
     710         <DivisionFieldType>Int</DivisionFieldType>
     711         <Blocks>
     712             <DataBlock>
     713                 <Status>Ready</Status>
     714                 <BeginExpression>Min</BeginExpression>
     715                 <EndExpression>Max</EndExpression>
     716                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     717                 <DivisionField />
     718                 <DivisionFieldType>String</DivisionFieldType>
     719             </DataBlock>
     720         </Blocks>
     721         <TargetBlocks />
     722     </TableConfiguration>
     723     <TableConfiguration>
     724         <Name>UserCartProductPrice</Name>
     725         <DivisionFieldType>Int</DivisionFieldType>
     726         <Blocks>
     727             <DataBlock>
     728                 <Status>Ready</Status>
     729                 <BeginExpression>Min</BeginExpression>
     730                 <EndExpression>Max</EndExpression>
     731                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     732                 <DivisionField />
     733                 <DivisionFieldType>String</DivisionFieldType>
     734             </DataBlock>
     735         </Blocks>
     736         <TargetBlocks />
     737     </TableConfiguration>
     738   <TableConfiguration>
     739     <Name>IpLog</Name>
     740     <DivisionFieldType>Int</DivisionFieldType>
     741     <Blocks>
     742       <DataBlock>
     743         <Status>Ready</Status>
     744         <BeginExpression>Min</BeginExpression>
     745         <EndExpression>Max</EndExpression>
     746         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     747         <DivisionField />
     748         <DivisionFieldType>String</DivisionFieldType>
     749       </DataBlock>
     750     </Blocks>
     751     <TargetBlocks />
     752   </TableConfiguration>
     753   <TableConfiguration>
     754     <Name>UserUpFile</Name>
     755     <DivisionFieldType>Int</DivisionFieldType>
     756     <Blocks>
     757       <DataBlock>
     758         <Status>Ready</Status>
     759         <BeginExpression>Min</BeginExpression>
     760         <EndExpression>Max</EndExpression>
     761         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     762         <DivisionField />
     763         <DivisionFieldType>String</DivisionFieldType>
     764       </DataBlock>
     765     </Blocks>
     766     <TargetBlocks />
     767   </TableConfiguration>
     768     <TableConfiguration>
     769         <Name>ViewProductPrice</Name>
     770         <DivisionFieldType>Int</DivisionFieldType>
     771         <Blocks>
     772             <DataBlock>
     773                 <Status>Ready</Status>
     774                 <BeginExpression>Min</BeginExpression>
     775                 <EndExpression>Max</EndExpression>
     776                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     777                 <DivisionField />
     778                 <DivisionFieldType>String</DivisionFieldType>
     779             </DataBlock>
     780         </Blocks>
     781         <TargetBlocks />
     782     </TableConfiguration>
     783     <TableConfiguration>
     784         <Name>SluggishMaterial</Name>
     785         <DivisionFieldType>Int</DivisionFieldType>
     786         <Blocks>
     787             <DataBlock>
     788                 <Status>Ready</Status>
     789                 <BeginExpression>Min</BeginExpression>
     790                 <EndExpression>Max</EndExpression>
     791                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     792                 <DivisionField />
     793                 <DivisionFieldType>String</DivisionFieldType>
     794             </DataBlock>
     795         </Blocks>
     796         <TargetBlocks />
     797     </TableConfiguration>
     798     <TableConfiguration>
     799         <Name>SluggishMaterialDetail</Name>
     800         <DivisionFieldType>Int</DivisionFieldType>
     801         <Blocks>
     802             <DataBlock>
     803                 <Status>Ready</Status>
     804                 <BeginExpression>Min</BeginExpression>
     805                 <EndExpression>Max</EndExpression>
     806                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     807                 <DivisionField />
     808                 <DivisionFieldType>String</DivisionFieldType>
     809             </DataBlock>
     810         </Blocks>
     811         <TargetBlocks />
     812     </TableConfiguration>
     813     <TableConfiguration>
     814         <Name>SluggishMaterialQuote</Name>
     815         <DivisionFieldType>Int</DivisionFieldType>
     816         <Blocks>
     817             <DataBlock>
     818                 <Status>Ready</Status>
     819                 <BeginExpression>Min</BeginExpression>
     820                 <EndExpression>Max</EndExpression>
     821                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     822                 <DivisionField />
     823                 <DivisionFieldType>String</DivisionFieldType>
     824             </DataBlock>
     825         </Blocks>
     826         <TargetBlocks />
     827     </TableConfiguration>
     828     <TableConfiguration>
     829         <Name>SluggishMaterialQuoteDetail</Name>
     830         <DivisionFieldType>Int</DivisionFieldType>
     831         <Blocks>
     832             <DataBlock>
     833                 <Status>Ready</Status>
     834                 <BeginExpression>Min</BeginExpression>
     835                 <EndExpression>Max</EndExpression>
     836                 <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     837                 <DivisionField />
     838                 <DivisionFieldType>String</DivisionFieldType>
     839             </DataBlock>
     840         </Blocks>
     841         <TargetBlocks />
     842     </TableConfiguration>
     843   <TableConfiguration>
     844     <Name>ManufactoryMapping</Name>
     845     <DivisionFieldType>Int</DivisionFieldType>
     846     <Blocks>
     847       <DataBlock>
     848         <Status>Ready</Status>
     849         <BeginExpression>Min</BeginExpression>
     850         <EndExpression>Max</EndExpression>
     851         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     852         <DivisionField />
     853         <DivisionFieldType>String</DivisionFieldType>
     854       </DataBlock>
     855     </Blocks>
     856     <TargetBlocks />
     857   </TableConfiguration>
     858   <TableConfiguration>
     859     <Name>ProductInfoExport</Name>
     860     <DivisionFieldType>Int</DivisionFieldType>
     861     <Blocks>
     862       <DataBlock>
     863         <Status>Ready</Status>
     864         <BeginExpression>Min</BeginExpression>
     865         <EndExpression>Max</EndExpression>
     866         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     867         <DivisionField />
     868         <DivisionFieldType>String</DivisionFieldType>
     869       </DataBlock>
     870     </Blocks>
     871     <TargetBlocks />
     872   </TableConfiguration>
     873   <TableConfiguration>
     874     <Name>ProductInfoExportGeneral</Name>
     875     <DivisionFieldType>Int</DivisionFieldType>
     876     <Blocks>
     877       <DataBlock>
     878         <Status>Ready</Status>
     879         <BeginExpression>Min</BeginExpression>
     880         <EndExpression>Max</EndExpression>
     881         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     882         <DivisionField />
     883         <DivisionFieldType>String</DivisionFieldType>
     884       </DataBlock>
     885     </Blocks>
     886     <TargetBlocks />
     887   </TableConfiguration>
     888   <TableConfiguration>
     889     <Name>ProductComment</Name>
     890     <DivisionFieldType>Int</DivisionFieldType>
     891     <Blocks>
     892       <DataBlock>
     893         <Status>Ready</Status>
     894         <BeginExpression>Min</BeginExpression>
     895         <EndExpression>Max</EndExpression>
     896         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     897         <DivisionField />
     898         <DivisionFieldType>String</DivisionFieldType>
     899       </DataBlock>
     900     </Blocks>
     901     <TargetBlocks />
     902   </TableConfiguration>
     903 
     904   <TableConfiguration>
     905     <Name>UserRegisterLog</Name>
     906     <DivisionFieldType>Int</DivisionFieldType>
     907     <Blocks>
     908       <DataBlock>
     909         <Status>Ready</Status>
     910         <BeginExpression>Min</BeginExpression>
     911         <EndExpression>Max</EndExpression>
     912         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     913         <DivisionField />
     914         <DivisionFieldType>String</DivisionFieldType>
     915       </DataBlock>
     916     </Blocks>
     917     <TargetBlocks />
     918   </TableConfiguration>
     919   
     920   <TableConfiguration>
     921     <Name>UserRegCounter</Name>
     922     <DivisionFieldType>Int</DivisionFieldType>
     923     <Blocks>
     924       <DataBlock>
     925         <Status>Ready</Status>
     926         <BeginExpression>Min</BeginExpression>
     927         <EndExpression>Max</EndExpression>
     928         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     929         <DivisionField />
     930         <DivisionFieldType>String</DivisionFieldType>
     931       </DataBlock>
     932     </Blocks>
     933     <TargetBlocks />
     934   </TableConfiguration>
     935   
     936   <TableConfiguration>
     937     <Name>CReward</Name>
     938     <DivisionFieldType>Int</DivisionFieldType>
     939     <Blocks>
     940       <DataBlock>
     941         <Status>Ready</Status>
     942         <BeginExpression>Min</BeginExpression>
     943         <EndExpression>Max</EndExpression>
     944         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     945         <DivisionField />
     946         <DivisionFieldType>String</DivisionFieldType>
     947       </DataBlock>
     948     </Blocks>
     949     <TargetBlocks />
     950   </TableConfiguration>
     951   <TableConfiguration>
     952     <Name>BrandsWideRebate</Name>
     953     <DivisionFieldType>Int</DivisionFieldType>
     954     <Blocks>
     955       <DataBlock>
     956         <Status>Ready</Status>
     957         <BeginExpression>Min</BeginExpression>
     958         <EndExpression>Max</EndExpression>
     959         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     960         <DivisionField />
     961         <DivisionFieldType>String</DivisionFieldType>
     962       </DataBlock>
     963     </Blocks>
     964     <TargetBlocks />
     965   </TableConfiguration>
     966 
     967   <TableConfiguration>
     968     <Name>SteppedRebate</Name>
     969     <DivisionFieldType>Int</DivisionFieldType>
     970     <Blocks>
     971       <DataBlock>
     972         <Status>Ready</Status>
     973         <BeginExpression>Min</BeginExpression>
     974         <EndExpression>Max</EndExpression>
     975         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     976         <DivisionField />
     977         <DivisionFieldType>String</DivisionFieldType>
     978       </DataBlock>
     979     </Blocks>
     980     <TargetBlocks />
     981   </TableConfiguration>
     982   <TableConfiguration>
     983     <Name>UserInvoiceInfo</Name>
     984     <DivisionFieldType>Int</DivisionFieldType>
     985     <Blocks>
     986       <DataBlock>
     987         <Status>Ready</Status>
     988         <BeginExpression>Min</BeginExpression>
     989         <EndExpression>Max</EndExpression>
     990         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
     991         <DivisionField />
     992         <DivisionFieldType>String</DivisionFieldType>
     993       </DataBlock>
     994     </Blocks>
     995     <TargetBlocks />
     996   </TableConfiguration>
     997   <TableConfiguration>
     998     <Name>ProductDetailInfo</Name>
     999     <DivisionFieldType>Int</DivisionFieldType>
    1000     <Blocks>
    1001       <DataBlock>
    1002         <Status>Ready</Status>
    1003         <BeginExpression>Min</BeginExpression>
    1004         <EndExpression>Max</EndExpression>
    1005         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
    1006         <DivisionField />
    1007         <DivisionFieldType>String</DivisionFieldType>
    1008       </DataBlock>
    1009     </Blocks>
    1010     <TargetBlocks />
    1011   </TableConfiguration>
    1012   <TableConfiguration>
    1013     <Name>CategoryInfo</Name>
    1014     <DivisionFieldType>Int</DivisionFieldType>
    1015     <Blocks>
    1016       <DataBlock>
    1017         <Status>Ready</Status>
    1018         <BeginExpression>Min</BeginExpression>
    1019         <EndExpression>Max</EndExpression>
    1020         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
    1021         <DivisionField />
    1022         <DivisionFieldType>String</DivisionFieldType>
    1023       </DataBlock>
    1024     </Blocks>
    1025     <TargetBlocks />
    1026   </TableConfiguration>
    1027   <TableConfiguration>
    1028     <Name>SubCategoryInfo</Name>
    1029     <DivisionFieldType>Int</DivisionFieldType>
    1030     <Blocks>
    1031       <DataBlock>
    1032         <Status>Ready</Status>
    1033         <BeginExpression>Min</BeginExpression>
    1034         <EndExpression>Max</EndExpression>
    1035         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
    1036         <DivisionField />
    1037         <DivisionFieldType>String</DivisionFieldType>
    1038       </DataBlock>
    1039     </Blocks>
    1040     <TargetBlocks />
    1041   </TableConfiguration>
    1042   <TableConfiguration>
    1043     <Name>SubSubCategoryInfo</Name>
    1044     <DivisionFieldType>Int</DivisionFieldType>
    1045     <Blocks>
    1046       <DataBlock>
    1047         <Status>Ready</Status>
    1048         <BeginExpression>Min</BeginExpression>
    1049         <EndExpression>Max</EndExpression>
    1050         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
    1051         <DivisionField />
    1052         <DivisionFieldType>String</DivisionFieldType>
    1053       </DataBlock>
    1054     </Blocks>
    1055     <TargetBlocks />
    1056   </TableConfiguration>
    1057   <TableConfiguration>
    1058     <Name>SeoNewsInfo</Name>
    1059     <DivisionFieldType>Int</DivisionFieldType>
    1060     <Blocks>
    1061       <DataBlock>
    1062         <Status>Ready</Status>
    1063         <BeginExpression>Min</BeginExpression>
    1064         <EndExpression>Max</EndExpression>
    1065         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
    1066         <DivisionField />
    1067         <DivisionFieldType>String</DivisionFieldType>
    1068       </DataBlock>
    1069     </Blocks>
    1070     <TargetBlocks />
    1071   </TableConfiguration>
    1072   <TableConfiguration>
    1073     <Name>SupplierAttachInfo</Name>
    1074     <DivisionFieldType>Int</DivisionFieldType>
    1075     <Blocks>
    1076       <DataBlock>
    1077         <Status>Ready</Status>
    1078         <BeginExpression>Min</BeginExpression>
    1079         <EndExpression>Max</EndExpression>
    1080         <ConnectString>Integrated Security=False;server=192.168.1.121;database=AnxinE;User ID=sa;Password=sasa;Connect Timeout=30</ConnectString>
    1081         <DivisionField />
    1082         <DivisionFieldType>String</DivisionFieldType>
    1083       </DataBlock>
    1084     </Blocks>
    1085     <TargetBlocks />
    1086   </TableConfiguration>
    1087 </ArrayOfTableConfiguration>
    table.xml

    program

    见winform捕获异常

  • 相关阅读:
    bash 常用快捷键
    黄聪:Python新手初学教程
    黄聪:Scrapy 轻松定制网络爬虫
    黄聪:Python语言编程学习资料(电子书+视频教程)下载汇总
    黄聪:ICTCLAS学习文档
    黄聪:使用Python中的urlparse、urllib抓取和解析网页(一)
    黄聪:Python+NLTK自然语言处理学习(二):常用方法(similar、common_contexts、generate)
    黄聪:使用Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies(二)
    黄聪:Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
    黄聪:Cookie工作基础原理、数据如何移动、Web站点怎么使用Cookies
  • 原文地址:https://www.cnblogs.com/zhaokunbokeyuan256/p/4665305.html
Copyright © 2011-2022 走看看