抓取网页信息

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捕获异常

原文地址:https://www.cnblogs.com/zhaokunbokeyuan256/p/4665305.html