private void GetData(object satte) { try { db.Execute("delete from " + tableName + ""); } catch { } string html = null; string strField = null; List <List <string> > list = null; StringBuilder sbSql = new StringBuilder(); for (int page = minPage; page <= maxPage; page++) { lblTip.Dispatcher.Invoke(new Action <string>(ShowTip), "当前页码:" + (page + (1 - firstPageIndex)) + "/" + (maxPage + (1 - firstPageIndex))); html = HtmlHandler.GetHtml(url, get, post, pageParamName, page, pageParamPos == "POST"); list = HtmlHandler.ParseBody(detailUrl, html, bodyRegEx, appendBodyRegEx, detailUrlIndex); //sbSql.Clear(); foreach (List <string> item in list) { strField = ""; foreach (string value in item) { strField += "'" + FilterHelper.HtmlFilter(value) + "',"; } if (item.Count != lstHeader.Count) { for (var i = item.Count + 1; i <= lstHeader.Count; i++) { strField += "'',"; } } //sbSql.Append(string.Format("insert into {0}({1}) values({2});", tableName, strHeader.TrimEnd(','), strField.TrimEnd(','))); if ((int)db.GetScalar(string.Format("select count(1) from {0} where {1}='{2}'", tableName, key, item[keyIndex])) > 0) { continue; } db.Execute(string.Format("insert into {0}({1}) values({2});", tableName, strHeader.TrimEnd(','), strField.TrimEnd(','))); } //db.Execute(sbSql.ToString()); } lblTip.Dispatcher.Invoke(new Action <string>(ShowTip), "操作完成"); btnBody.Dispatcher.Invoke(new Action(() => { btnBody.IsEnabled = true; })); btnConn.Dispatcher.Invoke(new Action(() => { btnConn.IsEnabled = true; })); btnHeader.Dispatcher.Invoke(new Action(() => { btnHeader.IsEnabled = true; })); }