/// <summary> /// 按索引编码更新索引目录信息。 /// 索引编码为主键。 /// </summary> /// <param name="syml"></param> /// <returns></returns> public bool updateZwhySYMLBySYBM(ZWHY_SYML syml) { bool result; try { sqlMapper.BeginTransaction(); sqlMapper.Update("UpdateZWHY_SYML", syml); sqlMapper.CommitTransaction(); result = true; } catch { sqlMapper.RollBackTransaction(); result = false; } return result; }
/// <summary> /// 插入中文会议索引目录信息。 /// </summary> /// <param name="syml"></param> public void insertZwhySYML(ZWHY_SYML syml) { sqlMapper.Insert("InsertZWHY_SYML", syml); }
protected override SYML getSyml(OleDbDataReader reader, out string err) { err = String.Empty; ZWHY_SYML syml = new ZWHY_SYML(); syml.flbm = reader["分类编码"].ToString().Trim(); syml.dqhy = reader["定期会议"].ToString().Trim(); syml.sybm = reader["索引编码"].ToString().Trim(); syml.wz = reader["文种"].ToString().Trim(); try { syml.nf = int.Parse(reader["年份"].ToString()); } catch (Exception) { syml.nf = 0; err += syml.flbm + ":" + syml.zwmc + ": 年份\"" + reader["年份"] + "\"出错,置为0\n"; } syml.zwmc = reader["中文名称"].ToString().Trim(); syml.wwmc = reader["外文名称"].ToString().Trim(); syml.zbdw = reader["主办单位"].ToString().Trim(); syml.cbdw = reader["承办单位"].ToString().Trim(); syml.chbdw = reader["出版单位"].ToString().Trim(); try { if (String.Empty.Equals(reader["发布日期"].ToString().Trim())) { err += syml.flbm + ":" + syml.zwmc + ":发布日期为空\n"; syml.fbrq = DateTime.MinValue; } else syml.fbrq = DateTime.Parse(reader["发布日期"].ToString().Trim()); } catch { err += syml.flbm + ":" + syml.zwmc + ": 发布日期\"" + reader["发布日期"] + "\"出错\n"; } syml.gtfl = reader["国图分类"].ToString().Trim(); syml.hydd = reader["会议地点"].ToString().Trim(); syml.jj = reader["简介"].ToString().Trim(); syml.gch = reader["馆藏号"].ToString().Trim(); syml.dlrq = DateTime.Now; syml.fillEmptyStringAsNull(); return syml; }
/// <summary> /// 获取页面中的信息 /// </summary> /// <returns>一个索引目录对象</returns> private ZWHY_SYML GetZWHY_SYML() { ZWHY_SYML zwhySYML = new ZWHY_SYML(); //分类编码 zwhySYML.flbm = this.flbmTextBox.Text.Trim(); //索引编码 zwhySYML.sybm = this.sybmTextBox.Text.Trim(); //定期会议 zwhySYML.dqhy = this.dqhyTextBox.Text.Trim(); //文种 zwhySYML.wz = this.wzTextBox.Text.Trim(); //年份 try { zwhySYML.nf = Int32.Parse(this.nfTextBox.Text.Trim()); } catch (Exception) { } //中文名称 zwhySYML.zwmc = this.zwmcTextBox.Text.Trim(); //外文名称 zwhySYML.wwmc = this.wwmcTextBox.Text.Trim(); //主办单位 zwhySYML.zbdw=this.zbdwTextBox.Text.Trim(); //承办单位 zwhySYML.cbdw= this.cbdwTextBox.Text.Trim(); //出版单位 zwhySYML.chbdw=this.chbdwTextBox.Text.Trim(); try { //发布日期 zwhySYML.fbrq = DateTime.Parse(this.fbrqTextBox.Text.Trim()); } catch (Exception) { } //会议地点 zwhySYML.hydd=this.hyddTextBox.Text.Trim(); //简介 zwhySYML.jj=this.jjTextBox.Text.Trim(); //馆藏号 zwhySYML.gch=this.gchTextBox.Text.Trim(); //国图分类 zwhySYML.gtfl = this.gtflTextBox.Text.Trim(); //登录日期 zwhySYML.dlrq = DateTime.Now; return zwhySYML; }
protected override PM getPM(OleDbDataReader reader, out String err) { err = String.Empty; ZWHY_PM pm = new ZWHY_PM(); if (hasFormatTable) { pm.sybm = reader["索引编码"].ToString().Trim(); pm.wjm = reader["文件名"].ToString().Trim(); pm.zwpm = reader["中文篇名"].ToString().Trim(); pm.wwpm = reader["外文篇名"].ToString().Trim(); pm.zz = reader["作者"].ToString().Trim(); pm.zzdw = reader["作者单位"].ToString().Trim(); pm.zwwz = reader["中文文摘"].ToString().Trim(); pm.wwwz = reader["外文文摘"].ToString().Trim(); pm.zwztc = reader["中文主题词"].ToString().Trim(); pm.wwztc = reader["外文主题词"].ToString().Trim(); try { pm.ys = int.Parse(reader["页数"].ToString()); } catch (Exception) { pm.ys = 0; } pm.gtfl = reader["国图分类"].ToString().Trim(); pm.gch = reader["馆藏号"].ToString().Trim(); pm.ywjm = reader["原文件名"].ToString().Trim(); pm.gxx = reader["更新项"].ToString().Trim(); } else { //pm.sybm = reader["索引编码"].ToString(); //pm.wjm = reader["文件名"].ToString(); pm.zwpm = reader["论文题名"].ToString(); pm.wwpm = reader["英文论文题名"].ToString(); pm.zz = reader["论文作者"].ToString(); pm.zzdw = reader["作者机构"].ToString(); pm.zwwz = reader["论文摘要"].ToString(); pm.wwwz = reader["英文论文摘要"].ToString(); pm.zwztc = reader["论文关键词"].ToString(); pm.wwztc = reader["英文论文关键词"].ToString(); pm.gtfl = reader["分类号"].ToString(); pm.ywjm = reader["文件名"].ToString(); //馆藏号如何取得 pm.gxx = ""; //根据分类编码中的关键词查找分类,并生成索引目录 string hymc = reader["会议录名称"].ToString(); ZWHY_SYML zwhySYML = zwhyDAO.getZwhySYMLByZwmc(hymc); if (zwhySYML == null) { //构造索引目录 zwhySYML = new ZWHY_SYML(); zwhySYML.flbm = GetFlbmByKeywords(hymc); if ("".Equals(zwhySYML.flbm)) { zwhySYML.flbm = GetFlbmByFlmc(hymc); } try { zwhySYML.nf = int.Parse(reader["年"].ToString()); } catch { zwhySYML.nf = 2012; } string sybm = zwhyDAO.getMaxZwhySYML(zwhySYML.flbm, zwhySYML.nf.ToString()); if (null == sybm) { sybm = zwhySYML.flbm + "-" + zwhySYML.nf.ToString() + "-000"; } else { string serial = "000"; int number = 0; try { number = int.Parse(sybm.Substring(sybm.Length - 3)) + 1; } catch { } serial += number; sybm = zwhySYML.flbm + "-" + zwhySYML.nf.ToString() + "-" + serial.Substring(serial.Length - 3); } zwhySYML.sybm = sybm; //读取索引字段,并插入到数据表中 zwhySYML.dqhy = ""; zwhySYML.wz = reader["语种"].ToString(); zwhySYML.zwmc = reader["会议录名称"].ToString(); zwhySYML.gch = ""; zwhySYML.wwmc = reader["英文会议录名称"].ToString(); zwhySYML.zbdw = reader["主办单位"].ToString(); zwhySYML.cbdw = ""; zwhySYML.chbdw = reader["出版单位"].ToString(); try { zwhySYML.fbrq = DateTime.Parse(reader["发表时间"].ToString()); } catch { zwhySYML.fbrq = DateTime.Now; } zwhySYML.hydd = reader["会议地点"].ToString(); zwhySYML.gtfl = GetGTFLbyFL(reader["分类号"].ToString()); zwhySYML.jj = ""; zwhySYML.dlrq = DateTime.Now; if (!"".Equals(zwhySYML.flbm)) { try { zwhyDAO.insertZwhySYML(zwhySYML); } catch { //不应该失败 } } } if (!"".Equals(zwhySYML.flbm)) { pm.sybm = zwhySYML.sybm; pm.gch = zwhySYML.gch; if (null == pm.gch) pm.gch = ""; } } pm.fillEmptyStringAsNull(); return pm; }