private void btnDbDeleter_Click(object sender, EventArgs e) { //对选中的数据库执行新增,解析等操作 if (cmbDb.Text == "请选择数据库") { MessageBox.Show("请选择删除的数据库"); return; } try { using (var db = new LROSRDbContext(DBname.dbName)) { db.Database.Delete(); MessageBox.Show(string.Format("数据库{0}删除成功", DBname.dbName)); } } catch (ArgumentException) { MessageBox.Show("请选择删除的数据库"); } catch (Exception ex) { MessageBox.Show(string.Format("数据库{0}删除失败\r\n{1}", DBname.dbName, ex.Message)); } }
//给pmAllMd赋值 public void GetPMAllMd(string dbname) { pmAllMd = null; using (var db = new LROSRDbContext(dbname)) { List <PMAllMoid> pmAllMoid = db.PMAllMoid.ToList(); List <PMTableListColumn> pmTableListColumn = db.PMTableListColumn.ToList(); var leftJoin = from m in pmAllMoid join n in pmTableListColumn on new { m.MeContext, m.cbt } equals new { n.MeContext, n.cbt } into q select new PMAllMd { KPid = m.KPid, cbt = m.cbt, ffv = q.First().ffv, RecordTime = q.First().RecordTime, gp = q.First().gp, MeContext = m.MeContext, moidKey = m.moidKey, moidValue = m.moidValue, mtList = m.mtList, mts = q.First().mts, nesw = q.First().nesw, rList = m.rList, neun = q.First().neun, SubNetwork = q.First().SubNetwork, SubNetwork1 = q.First().SubNetwork1, moid = m.moid.Replace(',', ';') }; pmAllMd = leftJoin.ToList(); } }
private void btnDbInit_Click(object sender, EventArgs e) { //初始化对应的数据库 if (cmbDb.Text == "请选择数据库") { MessageBox.Show("请选择初始化的数据库"); return; } try { using (var db = new LROSRDbContext(DBname.dbName)) { //db.Database.ExecuteSqlCommand("select 'truncate table ' + Name + ';' from sysobjects where xtype='U' order by name asc;"); //db.ExecuteStoreCommand("DELETE " + db.students.EntitySet.ElementType.Name); db.Database.ExecuteSqlCommand("truncate table MrTableAllColumns"); db.Database.ExecuteSqlCommand("truncate table PMAllMoids"); db.Database.ExecuteSqlCommand("truncate table PMTableListColumns"); //int stn = db.Database.ExecuteSqlCommand("select * from PMTableListColumns"); //MessageBox.Show(stn.ToString()); MessageBox.Show(string.Format("数据库{0}初始化成功", DBname.dbName)); } } catch (ArgumentException) { MessageBox.Show("请选择初始化的数据库"); } catch (Exception ex) { //throw (ex); MessageBox.Show(string.Format("数据库{0}初始化失败\r\n{1}", DBname.dbName, ex.Message)); } }
/// <summary> /// PM 表头数据入库 /// </summary> /// <param name="path">文件夹路径</param> /// <param name="deName">数据库名称</param> /// <returns>入库成功</returns> public bool PMTableListInput(string path, string deName) { int xmlNumber = 0; int dbNUmber = 0; string[] filenames = Directory.GetFiles(path); List <PMTableListColumn> PMTableList = new List <PMTableListColumn>(); if (filenames.Length == 0) { return(false); } //解析XML foreach (string file in filenames) { if (Path.GetExtension(file) == ".xml") { PMTableList.Add(GetPMTable(file)); } } xmlNumber = PMTableList.Count; //数据入库 using (var db = new LROSRDbContext(deName)) { db.Configuration.AutoDetectChangesEnabled = false; db.Configuration.ValidateOnSaveEnabled = false; //db.anto int KPid = 0;//设置主键ID int columnNumber = db.PMTableListColumn.Count(); if (columnNumber != 0) { KPid = db.PMTableListColumn.Select(q => q.KPid).Max() + 1; } foreach (PMTableListColumn item in PMTableList) { item.KPid = KPid; KPid++; } db.PMTableListColumn.AddRange(PMTableList); //db.PMTableListColumn.AddRange() try { dbNUmber = db.SaveChanges(); if (dbNUmber != xmlNumber) { return(false); } } catch (Exception ex) { throw ex; } } return(true); }
private void refreshData() { //提取数据库中的数据 using (var db = new LROSRDbContext(DBname.dbName)) { string sql = string.Format("select * from MrTableAllColumns where fileFormatVersion={0} and tabletype={1} and mrName={2} and "); //db.Database.SqlQuery(sql); } grid.DataSource = "list"; }
/// <summary> /// PM moid数据入库 /// </summary> /// <param name="path">文件夹路径</param> /// <param name="deName">数据库名称</param> /// <returns>入库成功</returns> private bool PMMoidInput(string path, string dbName) { //读取XML List <PMAllMoid> pMALLData = new List <PMAllMoid>(); string[] xmlFiles = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories); if (xmlFiles.Length == 0) { return(false); } //读取XML foreach (string file in xmlFiles) { if (Path.GetExtension(file) == ".xml") { GetPMMo(file, pMALLData); } } int xmlNumber = pMALLData.Count(); using (var db = new LROSRDbContext(dbName)) { db.Configuration.AutoDetectChangesEnabled = false; db.Configuration.ValidateOnSaveEnabled = false; int KPid = 0;//设置主键ID ///!!! int columnNumber = db.PMAllMoid.Count(); if (columnNumber != 0) { KPid = db.PMAllMoid.Select(q => q.KPid).Max() + 1; } foreach (PMAllMoid item in pMALLData) { item.KPid = KPid; KPid++; } db.PMAllMoid.AddRange(pMALLData); try { int dbNUmber = db.SaveChanges(); if (dbNUmber != xmlNumber) { return(false); } } catch (Exception ex) { throw ex; } } return(true); }
public static string getDataSource() { string str1 = DBname.dbName; string str2 = LROSRDbContext.GetEFConnctionString(str1); string[] sArray = str2.Split(new char[2] { '=', ';' }); string strDataSource = sArray[1]; return(strDataSource); }
/// <summary> /// 表,表头信息赋值 /// </summary> public void MrInitializeComponent(string dbname) { mrAllcolumnL.Clear(); mrTableL.Clear(); using (var db = new LROSRDbContext(dbname)) { db.Configuration.AutoDetectChangesEnabled = false; db.Configuration.ValidateOnSaveEnabled = false; var column = from q in db.MrTableAllColumn select q; var table1 = from q in column group q by new { q.fileFormatVersion, q.tabletype, q.mrName } into m select m.Key; var table2 = from q in table1 select new MRTableList { tabletype = q.tabletype, Version = q.fileFormatVersion, tableName = q.mrName }; foreach (MrTableAllColumn item in column) { MrTableAllColumn mrTableAllColumn = SingletonMrData.DeepCopy <MrTableAllColumn>(item); mrAllcolumnL.Add(mrTableAllColumn); } foreach (MRTableList item in table2) { MRTableList mRTableList = SingletonMrData.DeepCopy <MRTableList>(item); mrTableL.Add(item); } } }
/// <summary> /// Mr数据入库 /// </summary> /// <param name="path">压缩文件,文件夹路径</param> /// <returns>入库成功</returns> public bool MrInput(string path, string deName) { int xmlNumber = 0; int dbNUmber = 0; //初始化XML文件夹 string xmlPath = @"..\..\MRXMLFile";//路径xml文件夹 ClearXMLFile(xmlPath); //解压 bool a = false;//解压是否成功 string[] files = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories); if (files.Length == 0) { return(false); } foreach (string file in files) { if (Path.GetExtension(file) == ".zip") { a = Decompress(file, xmlPath); if (!a) { return(false); } } } //读取XML List <MrTableAllColumn> mrTableAllColumn = new List <MrTableAllColumn>(); string[] xmlFiles = Directory.GetFiles(xmlPath, "*.*", SearchOption.AllDirectories); if (xmlFiles.Length == 0) { return(false); } foreach (string file in xmlFiles) { if (Path.GetExtension(file) == ".xml") { mrTableAllColumn.AddRange(GetMrtable(file)); } } xmlNumber = mrTableAllColumn.Count(); //Mr数据入库 using (var db = new LROSRDbContext(deName)) { db.Configuration.AutoDetectChangesEnabled = false; db.Configuration.ValidateOnSaveEnabled = false; //db.anto int KPid = 0;//设置主键ID int columnNumber = db.MrTableAllColumn.Count(); if (columnNumber != 0) { KPid = db.MrTableAllColumn.Select(q => q.KPid).Max() + 1; } foreach (MrTableAllColumn item in mrTableAllColumn) { item.KPid = KPid; KPid++; } db.MrTableAllColumn.AddRange(mrTableAllColumn); try { dbNUmber = db.SaveChanges(); if (dbNUmber != xmlNumber) { return(false); } } catch (Exception ex) { throw ex; } //得到列数据和表头数据的列表 var column = from q in db.MrTableAllColumn select q; var table1 = from q in column group q by new { q.fileFormatVersion, q.tabletype, q.mrName } into m select m.Key; var table2 = from q in table1 select new MRTableList { tabletype = q.tabletype, Version = q.fileFormatVersion, tableName = q.mrName }; foreach (MrTableAllColumn item in column) { MrTableAllColumn mrTableAllColumn1 = SingletonMrData.DeepCopy <MrTableAllColumn>(item); SingletonMrData.mrAllcolumnL.Add(mrTableAllColumn1); } foreach (MRTableList item in table2) { MRTableList mRTableList = SingletonMrData.DeepCopy <MRTableList>(item); SingletonMrData.mrTableL.Add(item); } } return(true); }
private bool PMMoidZipInput(string path, string dbName) { //初始化XML文件夹 string xmlPath = @"..\..\PMXMLFile";//路径xml文件夹 MrInputData mrclass = new MrInputData(); mrclass.ClearXMLFile(xmlPath); //解压 bool a = false;//解压是否成功 string[] files = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories); if (files.Length == 0) { return(false); } foreach (string file in files) { if (Path.GetExtension(file) == ".zip") { a = mrclass.Decompress(file, xmlPath); if (!a) { return(false); } } } // List <PMAllMoid> pMALLData = new List <PMAllMoid>(); string[] xmlFiles = Directory.GetFiles(xmlPath, "*.*", SearchOption.AllDirectories); if (xmlFiles.Length == 0) { return(false); } //读取XML foreach (string file in xmlFiles) { if (Path.GetExtension(file) == ".xml") { GetPMMo(file, pMALLData); } } int xmlNumber = pMALLData.Count(); using (var db = new LROSRDbContext(dbName)) { db.Configuration.AutoDetectChangesEnabled = false; db.Configuration.ValidateOnSaveEnabled = false; int KPid = 0;//设置主键ID ///!!! int columnNumber = db.PMAllMoid.Count(); if (columnNumber != 0) { KPid = db.PMAllMoid.Select(q => q.KPid).Max() + 1; } foreach (PMAllMoid item in pMALLData) { item.KPid = KPid; KPid++; } db.PMAllMoid.AddRange(pMALLData); try { int dbNUmber = db.SaveChanges(); if (dbNUmber != xmlNumber) { return(false); } } catch (Exception ex) { throw ex; } } return(true); }
public bool PMTableListZipInput(string path, string deName) { int xmlNumber = 0; int dbNUmber = 0; string xmlPath = @"..\..\XMLFile";//路径xml文件夹 MrInputData mrclass = new MrInputData(); mrclass.ClearXMLFile(xmlPath); //解压 bool a = false;//解压是否成功 string[] files = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories); if (files.Length == 0) { return(false); } foreach (string file in files) { if (Path.GetExtension(file) == ".zip") { a = mrclass.Decompress(file, xmlPath); if (!a) { return(false); } } } string[] filenames = Directory.GetFiles(xmlPath); List <PMTableListColumn> PMTableList = new List <PMTableListColumn>(); if (filenames.Length == 0) { return(false); } //解析XML foreach (string file in filenames) { if (Path.GetExtension(file) == ".xml") { PMTableList.Add(GetPMTable(file)); } } xmlNumber = PMTableList.Count; //数据入库 using (var db = new LROSRDbContext(deName)) { db.Configuration.AutoDetectChangesEnabled = false; db.Configuration.ValidateOnSaveEnabled = false; //db.anto int KPid = 0;//设置主键ID int columnNumber = db.PMTableListColumn.Count(); if (columnNumber != 0) { KPid = db.PMTableListColumn.Select(q => q.KPid).Max() + 1; } foreach (PMTableListColumn item in PMTableList) { item.KPid = KPid; KPid++; } db.PMTableListColumn.AddRange(PMTableList); //db.PMTableListColumn.AddRange() try { dbNUmber = db.SaveChanges(); if (dbNUmber != xmlNumber) { return(false); } } catch (Exception ex) { throw ex; } } return(true); }