// 检查看看期刊书目库中的记录有没有期刊信息不正确的问题 // parameters: // bWarning 是否出现过警告 // return: // -1 error // 0 没有问题 // 1 有问题 int VerifyIssueInfo(List<string> biblio_dbnames, out bool bWarning, out string strError) { strError = ""; bWarning = false; if (this.jidaoControl1 == null) this.jidaoControl1 = new UpgradeUtil.JidaoControl(); this.EnableControls(false); stop.OnStop += new StopEventHandler(this.DoStop); stop.SetMessage("正在检查期刊库内记录 ..."); stop.BeginLoop(); this.Update(); try { AppendHtml( "====================<br/>" + "检查期刊库内记录<br/>" + "====================<br/><br/>"); AppendHtml( "准备检查 " + biblio_dbnames.Count.ToString() + " 个期刊库内的全部记录...<br/>"); List<string> barcodes = new List<string>(); for (int i = 0; i < biblio_dbnames.Count; i++) { string strIssueDbName = biblio_dbnames[i]; bool bWarning_1 = false; int nRet = DoCheckOneIssueDatabase(strIssueDbName, out bWarning_1, out strError); if (nRet == -1) { MessageBox.Show(this, strError); } if (bWarning_1 == true) bWarning = true; } if (bWarning == true) { AppendHtml( "***注意***<br/>在检查期刊记录过程中,出现了警告信息。" + "建议先去dt1000系统内消除这些警告的问题,然后再重新进行升级<br/>"); return 1; // 发现了问题 } } finally { stop.EndLoop(); stop.OnStop -= new StopEventHandler(this.DoStop); stop.Initial(""); this.EnableControls(true); } return 0; // 没有问题 }
// 复制dtlp数据库内的全部数据到对应的dp2数据库中 int CopyDatabases(out string strError) { strError = ""; int nRet = 0; if (this.jidaoControl1 == null) this.jidaoControl1 = new UpgradeUtil.JidaoControl(); // 获得所有dp2数据库的XML定义 string strDatabaseDefs = ""; nRet = GetAllDatabaseInfo(out strDatabaseDefs, out strError); if (nRet == -1) return -1; this.Dp2DatabaseDom = new XmlDocument(); try { this.Dp2DatabaseDom.LoadXml(strDatabaseDefs); } catch (Exception ex) { strError = "XML装入DOM时出错: " + ex.Message; return -1; } this.m_locations.Clear(); this.m_sources.Clear(); this.m_sellers.Clear(); this.m_orderclasses.Clear(); this.EnableControls(false); stop.OnStop += new StopEventHandler(this.DoStop); stop.SetMessage("正在升级数据库内记录 ..."); stop.BeginLoop(); this.Update(); try { AppendHtml( "====================<br/>" + "升级数据库记录<br/>" + "====================<br/><br/>"); AppendHtml( "准备升级 " + this.listView_dtlpDatabases.CheckedItems.Count.ToString() + " 个数据库内的全部记录...<br/>"); for (int i = 0; i < listView_dtlpDatabases.CheckedItems.Count; i++) { ListViewItem dtlp_item = listView_dtlpDatabases.CheckedItems[i]; string strDatabaseName = dtlp_item.Text; string strCreatingType = ListViewUtil.GetItemText(dtlp_item, 1); nRet = DoCopyOneDatabase(strDatabaseName, strCreatingType, out strError); if (nRet == -1) { MessageBox.Show(this, strError); AppendHtml( "升级数据库 " + strDatabaseName + " 内记录时发生错误: " + HttpUtility.HtmlEncode(strError) + "<br/><br/>"); if (i < listView_dtlpDatabases.CheckedItems.Count - 1) { // 继续下一个数据库 DialogResult msgResult = MessageBox.Show(this, "继续复制其余的数据库?", "UpgradeDt1000ToDp2", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (msgResult == DialogResult.No) { string strDatabaseNames = ""; for (int j = i; j < listView_dtlpDatabases.CheckedItems.Count; j++) { dtlp_item = listView_dtlpDatabases.CheckedItems[i]; strDatabaseName = dtlp_item.Text; if (String.IsNullOrEmpty(strDatabaseNames) == false) strDatabaseNames += ","; strDatabaseNames += strDatabaseName; } AppendHtml( "下列数据库 " + strDatabaseNames + " 被整个放弃升级。<br/><br/>"); return 0; } } } } AppendHtml( "升级 " + this.listView_dtlpDatabases.CheckedItems.Count.ToString() + " 个数据库内记录的操作全部完成。<br/><br/>"); } finally { stop.EndLoop(); stop.OnStop -= new StopEventHandler(this.DoStop); stop.Initial(""); this.EnableControls(true); } return 0; }