Exemple #1
0
 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));
     }
     
 }
Exemple #2
0
        //给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();
            }
        }
Exemple #3
0
        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));
            }

            
            
        }
Exemple #4
0
        /// <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);
        }
Exemple #5
0
 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";
 }
Exemple #6
0
        /// <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);
        }
Exemple #7
0
        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);
        }
Exemple #8
0
        /// <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);
                }
            }
        }
Exemple #9
0
        /// <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);
        }
Exemple #10
0
        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);
        }
Exemple #11
0
        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);
        }