Esempio n. 1
0
        private void comboBoxArea_Click(object sender, EventArgs e)
        {
            GeoDataCenterDbFun   dbfun  = new GeoDataCenterDbFun();
            GetDataTreeInitIndex dIndex = new GetDataTreeInitIndex();
            string          mypath      = dIndex.GetDbInfo();
            string          strCon      = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False"; //生成连接数据库字符串
            frmDataUnitTree frm         = new frmDataUnitTree();                                                                                                    //初始化数据单元树窗体

            frm.Location = new Point(this.Location.X + 45, this.Location.Y + 140);
            frm.flag     = 2;
            frm.ShowDialog();
            if (Node != null)//传回的Node不是NULL
            {
                if (Convert.ToInt32(Node.Tag) != 0)
                {
                    string strExp = "select 行政代码 from 数据单元表 where 行政名称='" + Node.Text + "'  and 数据单元级别='" + Node.Tag + "'";
                    string code   = dbfun.GetInfoFromMdbByExp(strCon, strExp);
                    comboBoxArea.Text = Node.Text + "(" + code + ")";//为数据单元box显示数据
                }
                else
                {
                    comboBoxArea.Text = Node.Text;//为数据单元box显示数据
                }
            }
        }
Esempio n. 2
0
        //删除文档
        private void btn_Del_Click(object sender, EventArgs e)
        {
            bool flag = false;
            GetDataTreeInitIndex dIndex = new GetDataTreeInitIndex();
            string             mypath   = dIndex.GetDbInfo();
            string             strCon   = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False";//生成连接数据库字符串
            GeoDataCenterDbFun db       = new GeoDataCenterDbFun();
            string             strExp   = "select 路径 from 文档数据源信息表 where 虚拟目录名='" + comboBoxCatalog.Text + "'";
            string             path     = db.GetInfoFromMdbByExp(strCon, strExp);

            foreach (DataGridViewRow row in datagwSource.Rows)
            {
                if ((bool)row.Cells[0].EditedFormattedValue == true)
                {
                    flag = true;
                }
            }
            if (!flag)
            {
                MessageBox.Show("没有选中行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            try
            {
                string cellvalue = "";
                foreach (DataGridViewRow row in datagwSource.Rows)
                {
                    if ((bool)row.Cells[0].EditedFormattedValue == true)
                    {
                        cellvalue = row.Cells[1].Value.ToString().Trim();
                        strExp    = "select * from 文档入库信息表 where 文档名称='" + cellvalue + "' and 文档虚拟目录='" + comboBoxCatalog.Text + "'";
                        DataTable dt  = db.GetDataTableFromMdb(strCon, strExp);
                        string    dir = path + "\\" + dt.Rows[0]["年度"] + dt.Rows[0]["专题类型"] + dt.Rows[0]["行政代码"] + "\\" + cellvalue + "." + dt.Rows[0]["文档类型"];
                        if (File.Exists(dir))
                        {
                            File.Delete(dir);
                            dir = dir.Substring(0, dir.LastIndexOf("\\"));
                            if (Directory.GetFiles(dir).Length == 0)//如果该目录中没有其他文档,则删除该目录
                            {
                                Directory.Delete(dir);
                            }
                            strExp = "delete * from 文档入库信息表 where 文档名称='" + cellvalue + "' and 文档虚拟目录='" + comboBoxCatalog.Text + "'";
                            db.ExcuteSqlFromMdb(strCon, strExp);
                        }
                    }
                }
                datagwSource.Rows.Clear();
                LoadGridView();//重新加载数据
                MessageBox.Show("删除成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Esempio n. 3
0
        public string GetDescrib(string str)
        {
            GetDataTreeInitIndex dIndex  = new GetDataTreeInitIndex();
            string             mypath    = dIndex.GetDbInfo();
            string             strCon    = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False";//生成连接数据库字符串
            string             strExp    = "select 描述 from 标准图层信息表 where 代码='" + str + "'";
            GeoDataCenterDbFun db        = new GeoDataCenterDbFun();
            string             strreturn = db.GetInfoFromMdbByExp(strCon, strExp);

            return(strreturn);
        }
Esempio n. 4
0
 private void comboBoxSource_TextChanged(object sender, EventArgs e)
 {
     textBoxPath.Text = "";
     if (comboBoxSource.Text.Trim() != "")
     {
         GetDataTreeInitIndex dIndex = new GetDataTreeInitIndex();
         string             strExp   = "select 路径 from 文档数据源信息表 where 虚拟目录名='" + comboBoxSource.Text + "'";
         string             mypath   = dIndex.GetDbInfo();
         string             strCon   = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False";//生成连接数据库字符串
         GeoDataCenterDbFun db       = new GeoDataCenterDbFun();
         textBoxPath.Text = db.GetInfoFromMdbByExp(strCon, strExp);
     }
 }
Esempio n. 5
0
 //得到数据库用户
 private string GetSourceUser(string str)
 {
     try
     {
         GetDataTreeInitIndex dIndex = new GetDataTreeInitIndex();
         string             mypath   = dIndex.GetDbInfo();
         string             strCon   = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False";//生成连接数据库字符串
         string             strExp   = "select 用户 from 物理数据源表 where 数据源名称='" + str + "'";
         GeoDataCenterDbFun db       = new GeoDataCenterDbFun();
         string             strname  = db.GetInfoFromMdbByExp(strCon, strExp);
         return(strname);
     }
     catch { return(""); }
 }
Esempio n. 6
0
        //修改
        private void datagwSource_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex == -1 || e.ColumnIndex != 1)
            {
                return;
            }
            //IWorkspaceFactory Pwf = new FileGDBWorkspaceFactoryClass();
            //pWorkspace = (IWorkspace)(Pwf.OpenFromFile(GetSourcePath(comboBoxSource.Text), 0));
            pWorkspace = GetWorkspace(comboBoxSource.Text);
            if (pWorkspace != null)
            {
                pWorkspace2 = (IWorkspace2)pWorkspace;
                m_endstr    = datagwSource.Rows[e.RowIndex].Cells[1].Value.ToString();
                if (pWorkspace2.get_NameExists(esriDatasetType.esriDTFeatureClass, m_endstr))
                {
                    MessageBox.Show("命名名称已存在,请修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    datagwSource.Rows[e.RowIndex].Cells[1].Value = m_startstr;
                    return;
                }
                if (pWorkspace2.get_NameExists(esriDatasetType.esriDTFeatureClass, m_startstr))
                {
                    IFeatureClass     tmpfeatureclass;
                    IFeatureWorkspace pFeatureWorkspace = (IFeatureWorkspace)pWorkspace;
                    tmpfeatureclass = pFeatureWorkspace.OpenFeatureClass(m_startstr);
                    IDataset set = tmpfeatureclass as IDataset;
                    set.Rename(m_endstr);
                    EditSql(m_startstr, m_endstr);

                    //更改代码 实时更新图层描述
                    GetDataTreeInitIndex dIndex   = new GetDataTreeInitIndex();
                    string             mypath     = dIndex.GetDbInfo();
                    string             strCon     = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False"; //生成连接数据库字符串
                    string             player     = m_endstr.Substring(15);                                                                                                   //图层组成
                    string             strExp     = "select 描述 from 标准图层信息表 where 代码='" + player + "'";
                    GeoDataCenterDbFun db         = new GeoDataCenterDbFun();
                    string             playername = db.GetInfoFromMdbByExp(strCon, strExp);
                    if (playername != "")
                    {
                        datagwSource.Rows[e.RowIndex].Cells[2].Value = playername;
                    }

                    //listBoxDetail.Items.Add("将" + m_startstr);
                    //listBoxDetail.Items.Add("改为" + m_endstr);
                    //listBoxDetail.Items.Add(" ");
                    MessageBox.Show("修改数据成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
Esempio n. 7
0
        /// <summary>
        /// 将前缀按照标准表规则化,并组织
        /// </summary>
        /// <param name="str1">前缀</param>
        /// <param name="str2">图层</param>
        /// <returns></returns>
        public string GetForwadName(string str1, string str2)
        {
            AnalyseDataToArray(str1);
            str1 = "";
            GetDataTreeInitIndex dIndex = new GetDataTreeInitIndex();
            string             mypath   = dIndex.GetDbInfo();
            string             strCon   = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False";//生成连接数据库字符串
            string             strExp   = "select 业务大类代码,业务小类代码 from 标准图层信息表 where 代码='" + str2 + "'";
            GeoDataCenterDbFun db       = new GeoDataCenterDbFun();
            DataTable          dt       = db.GetDataTableFromMdb(strCon, strExp);

            if (dt.Rows.Count > 0)
            {
                array[0] = dt.Rows[0]["业务大类代码"].ToString();
                array[2] = dt.Rows[0]["业务小类代码"].ToString();
            }
            strExp = "select 字段名称 from 图层命名规则表";
            string strname = db.GetInfoFromMdbByExp(strCon, strExp);

            string[] arrName = strname.Split('+');//分离字段名称
            for (int i = 0; i < arrName.Length; i++)
            {
                switch (arrName[i])
                {
                case "业务大类代码":
                    str1 += array[0];
                    break;

                case "年度":
                    str1 += array[1];
                    break;

                case "业务小类代码":
                    str1 += array[2];
                    break;

                case "行政代码":
                    str1 += array[3];
                    break;

                case "比例尺":
                    str1 += array[4];
                    break;
                }
            }
            str1 += str2;
            return(str1);
        }
Esempio n. 8
0
        /// <summary>
        /// 将数据分析成字符串数组
        /// </summary>
        /// <param name="filename">数据名称</param>
        public void AnalyseDataToArray(string filename)
        {
            if (filename.Contains("."))//针对SDE 用户名.图层名格式的
            {
                filename = filename.Substring(filename.LastIndexOf(".") + 1);
            }
            GetDataTreeInitIndex dIndex = new GetDataTreeInitIndex();
            string             mypath   = dIndex.GetDbInfo();
            string             strCon   = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False";//生成连接数据库字符串
            string             strExp   = "select 字段名称 from 图层命名规则表";
            GeoDataCenterDbFun db       = new GeoDataCenterDbFun();
            string             strname  = db.GetInfoFromMdbByExp(strCon, strExp);

            string[] arrName = strname.Split('+');//分离字段名称
            for (int i = 0; i < arrName.Length; i++)
            {
                switch (arrName[i])
                {
                case "业务大类代码":
                    array[0] = filename.Substring(0, 2);    //业务大类代码
                    filename = filename.Remove(0, 2);
                    break;

                case "年度":
                    array[1] = filename.Substring(0, 4);    //年度
                    filename = filename.Remove(0, 4);
                    break;

                case "业务小类代码":
                    array[2] = filename.Substring(0, 2);    //业务小类代码
                    filename = filename.Remove(0, 2);
                    break;

                case "行政代码":
                    array[3] = filename.Substring(0, 6);    //行政代码
                    filename = filename.Remove(0, 6);
                    break;

                case "比例尺":
                    array[4] = filename.Substring(0, 1);    //比例尺
                    filename = filename.Remove(0, 1);
                    break;
                }
            }
            array[5] = filename;//图层组成
        }
Esempio n. 9
0
        private void LoadGirdViewRatster()
        {
            GetDataTreeInitIndex dIndex   = new GetDataTreeInitIndex();
            string                 mypath = dIndex.GetDbInfo();
            string                 strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False"; //生成连接数据库字符串
            string                 strExp = "select * from 地图入库信息表";
            GeoDataCenterDbFun     db     = new GeoDataCenterDbFun();
            DataTable              dt     = db.GetDataTableFromMdb(strCon, strExp);
            DataGridViewButtonCell cell   = new DataGridViewButtonCell();

            cell.Value = "...";
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                strExp = "select 描述 from  标准专题信息表 where 专题类型='" + dt.Rows[i]["专题类型"].ToString() + "'";
                string name = db.GetInfoFromMdbByExp(strCon, strExp);
                dataGridView.Rows.Add(new object[] { dt.Rows[i]["专题类型"].ToString(), name, dt.Rows[i]["年度"].ToString(), dt.Rows[i]["行政名称"].ToString(), dt.Rows[i]["比例尺"].ToString(), dt.Rows[i]["影像库"].ToString(), cell });
            }
        }
Esempio n. 10
0
        //点击行政区域
        private void comboBoxArea_Click(object sender, EventArgs e)
        {
            GeoDataCenterDbFun dbfun = new GeoDataCenterDbFun();

            frmDataUnitTree frm = new frmDataUnitTree();//初始化数据单元树窗体

            frm.Location = new Point(this.Location.X + 147, this.Location.Y + 80);
            frm.flag     = 0;
            frm.ShowDialog();
            if (Node != null)//传回的Node不是NULL
            {
                if (Convert.ToInt32(Node.Tag) != 0)
                {
                    string strExp = "select 行政代码 from 数据单元表 where 行政名称='" + Node.Text + "' and 数据单元级别='" + Node.Tag + "'";
                    string code   = dbfun.GetInfoFromMdbByExp(m_con, strExp);
                    comboBoxArea.Text = Node.Text + "(" + code + ")";//为数据单元box显示数据
                }
            }
        }
Esempio n. 11
0
        /// <summary>
        /// 组织前缀 added by xs 20110415
        /// </summary>
        /// <param name="str1">业务大类</param>
        /// <param name="str2">年度</param>
        /// <param name="str3">业务小类</param>
        /// <param name="str4">行政代码</param>
        /// <param name="str5">比例尺</param>
        /// <returns></returns>
        public string GetLayerName(string str1, string str2, string str3, string str4, string str5)
        {
            string layername            = "";
            GetDataTreeInitIndex dIndex = new GetDataTreeInitIndex();
            string             mypath   = dIndex.GetDbInfo();
            string             strCon   = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False";//生成连接数据库字符串
            string             strExp   = "select 字段名称 from 图层命名规则表";
            GeoDataCenterDbFun db       = new GeoDataCenterDbFun();
            string             strname  = db.GetInfoFromMdbByExp(strCon, strExp);

            string[] arrName = strname.Split('+');//分离字段名称
            for (int i = 0; i < arrName.Length; i++)
            {
                switch (arrName[i])
                {
                case "业务大类代码":
                    layername += str1;
                    break;

                case "年度":
                    layername += str2;
                    break;

                case "业务小类代码":
                    layername += str3;
                    break;

                case "行政代码":
                    layername += str4;
                    break;

                case "比例尺":
                    layername += str5;
                    break;
                }
            }
            return(layername);
        }
Esempio n. 12
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            string physicdir = "";
            string strExp;
            GetDataTreeInitIndex dIndex = new GetDataTreeInitIndex();
            string             mypath   = dIndex.GetDbInfo();
            string             strCon   = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False";//生成连接数据
            GeoDataCenterDbFun db       = new GeoDataCenterDbFun();

            if (comboBoxScale.Text == "" || comboBoxArea.Text == "" || comboBoxYear.Text == "" || comboBoxType.Text == "")
            {
                MessageBox.Show("各选项不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            string strscale    = GetCode(comboBoxScale.Text);                                        //获得比例尺代码
            string strType     = GetCode(comboBoxType.Text);                                         //获得专题类型
            string strArea     = GetCode(comboBoxArea.Text);                                         //获得区域代码
            string strAreaname = comboBoxArea.Text.Substring(0, comboBoxArea.Text.LastIndexOf('(')); //获得区域名称

            //年度 专题 行政区代码 要按照规则替换
            string dir = comboBoxYear.Text + strType + strArea;

            if (m_soucedir != comboBoxSource.Text)
            {
                strExp    = "select 路径 from 文档数据源信息表 where 虚拟目录名='" + comboBoxSource.Text + "'";
                physicdir = db.GetInfoFromMdbByExp(strCon, strExp) + @"\" + dir;//路径
            }
            else
            {
                physicdir = comboBoxSource.Text + @"\" + dir;//路径
            }
            if (!Directory.Exists(physicdir))
            {
                Directory.CreateDirectory(physicdir);
            }
            foreach (ListViewItem item in listViewDoc.Items)
            {
                try
                {
                    //string[] str = item.Text.Split('.');
                    string   strfile     = item.Text.Substring(item.Text.LastIndexOf("\\") + 1);
                    string[] strBuffer   = strfile.Split('.');
                    string   strFileName = strBuffer[0].ToString();
                    string   strFileType = strBuffer[1].ToString();

                    if (item.Checked && item.SubItems[1].Text == "等待入库")
                    {
                        item.SubItems[1].Text = "正在入库";
                        listViewDoc.Refresh();
                        if (File.Exists(item.Text))
                        {
                            File.Copy(item.Text, physicdir + "\\" + strfile, true);
                        }
                        strExp = string.Format("insert into 文档入库信息表 (行政代码,行政名称,年度,比例尺,专题类型,文档名称,文档类型,文档虚拟目录,处理) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}')",
                                               strArea, strAreaname, comboBoxYear.Text, strscale, strType, strFileName, strFileType, comboBoxSource.Text, comboBoxOpen.SelectedIndex.ToString());
                        db.ExcuteSqlFromMdb(strCon, strExp);
                        item.SubItems[1].Text = "入库完成";
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    item.SubItems[1].Text = "入库失败";
                }
            }
            MessageBox.Show("操作已完成", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
Esempio n. 13
0
        /// <summary>
        /// 根据列表框选择状态动态显示GirdView
        /// </summary>
        private void ChangeGridView()
        {
            this.Cursor = Cursors.WaitCursor;
            string strall = "";

            datagwSource.Rows.Clear();
            bool   state  = true;
            string player = "";
            GetDataTreeInitIndex dIndex = new GetDataTreeInitIndex();
            //path = GetSourcePath(comboBoxSource.Text);
            string             mypath  = dIndex.GetDbInfo();
            string             strCon  = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False"; //生成连接数据库字符串
            string             str_Exp = "";
            GeoDataCenterDbFun db      = new GeoDataCenterDbFun();

            //if (Directory.Exists(@path))
            //{
            //IWorkspaceFactory Pwf = new FileGDBWorkspaceFactoryClass();
            pWorkspace = GetWorkspace(comboBoxSource.Text);
            if (pWorkspace == null)
            {
                this.Cursor = Cursors.Default;
                MessageBox.Show("数据源空间不存在", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            IEnumDataset enumDataset = pWorkspace.get_Datasets(esriDatasetType.esriDTFeatureClass) as IEnumDataset;
            IDataset     dataset     = enumDataset.Next();

            //遍历mdb的每一个独立要素类
            while (dataset != null)
            {
                state = true;
                //IFeatureClass pFeatureClass = dataset as IFeatureClass;
                //player = pFeatureClass.AliasName;
                player = dataset.Name;

                if (pWorkspace.Type == esriWorkspaceType.esriRemoteDatabaseWorkspace) //如果SDE去掉用户名前缀
                {
                    Int32 userlenth = pWorkspace.ConnectionProperties.GetProperty("USER").ToString().Length;
                    player = player.Substring(userlenth + 1);
                }

                AnalyseDataToArray(player);    //解析数据
                //MessageBox.Show(array[1] + "," + comboBoxYear.Items[m_state[0]].ToString());
                if (m_state[0] != 0 && array[1] != (comboBoxYear.Items[m_state[0]].ToString()))
                {
                    state = false; dataset = enumDataset.Next(); continue;
                }

                if (Node != null && Convert.ToInt32(Node.Tag) != 0 && comboBoxArea.Text.Trim() != "所有行政区")
                {
                    int tag = Convert.ToInt32(Node.Tag);
                    strall = comboBoxArea.Text.ToString();
                    string[] area = strall.Split('(', ')');
                    switch (tag)
                    {
                    case 1:
                        if (array[3].Substring(0, 3) != area[1].Substring(0, 3))        //省级节点取前三位
                        {
                            state   = false;
                            dataset = enumDataset.Next();
                            continue;
                        }
                        break;

                    case 2:
                        if (array[3].Substring(0, 4) != area[1].Substring(0, 4))        //市级节点取前四位
                        {
                            state   = false;
                            dataset = enumDataset.Next();
                            continue;
                        }
                        break;

                    case 3:
                        if (array[3] != area[1])
                        {
                            state   = false;
                            dataset = enumDataset.Next();
                            continue;
                        }
                        break;
                    }

                    //if (!array[3].Contains(area[1]))
                    //{
                    //    state = false; dataset = enumDataset.Next(); continue;
                    //}
                }
                if (m_state[2] != 0)
                {
                    strall = comboBoxScale.Items[m_state[2]].ToString();
                    string[] scale = strall.Split('(', ')');
                    //str_Exp = "select 代码 from 比例尺代码表 where 描述='" + comboBoxScale.Items[m_state[2]].ToString() + "'";
                    //string scale = db.GetInfoFromMdbByExp(strCon, str_Exp);
                    if (array[4] != scale[1])
                    {
                        state = false; dataset = enumDataset.Next(); continue;
                    }
                }
                if (m_state[3] != 0)    //业务大类
                {
                    strall = comboBoxBig.Items[m_state[3]].ToString();
                    string[] type = strall.Split('(', ')');
                    //str_Exp = "select 专题类型 from 标准专题信息表 where 描述='" + comboBoxType.Items[m_state[3]].ToString() + "'";
                    //string type= db.GetInfoFromMdbByExp(strCon, str_Exp);
                    if (array[0] != type[1])
                    {
                        state = false; dataset = enumDataset.Next(); continue;
                    }
                }
                if (m_state[4] != 0)    //业务小类
                {
                    strall = comboBoxSub.Items[m_state[4]].ToString();
                    string[] type = strall.Split('(', ')');
                    //str_Exp = "select 专题类型 from 标准专题信息表 where 描述='" + comboBoxType.Items[m_state[3]].ToString() + "'";
                    //string type= db.GetInfoFromMdbByExp(strCon, str_Exp);
                    if (array[2] != type[1])
                    {
                        state = false; dataset = enumDataset.Next(); continue;
                    }
                }
                str_Exp = "select 描述 from 标准图层信息表 where 代码='" + array[5] + "'";
                string playername = db.GetInfoFromMdbByExp(strCon, str_Exp);
                if (playername != "")
                {
                    array[5] = playername;
                }
                if (state)
                {
                    datagwSource.Rows.Add(new object[] { true, player, array[5] });
                }
                dataset = enumDataset.Next();
            }
            this.Cursor = Cursors.Default;
            //}
            //else
            //{
            //    this.Cursor = Cursors.Default;
            //    MessageBox.Show("数据源路径不存在", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            //}
        }
Esempio n. 14
0
        //下载文档
        private void btn_Export_Click(object sender, EventArgs e)
        {
            bool flag = false;
            GetDataTreeInitIndex dIndex = new GetDataTreeInitIndex();
            string             mypath   = dIndex.GetDbInfo();
            string             strCon   = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False";//生成连接数据库字符串
            GeoDataCenterDbFun db       = new GeoDataCenterDbFun();
            string             strExp   = "select 路径 from 文档数据源信息表 where 虚拟目录名='" + comboBoxCatalog.Text + "'";
            string             path     = db.GetInfoFromMdbByExp(strCon, strExp);

            foreach (DataGridViewRow row in datagwSource.Rows)
            {
                if ((bool)row.Cells[0].EditedFormattedValue == true)
                {
                    flag = true;
                }
            }
            if (!flag)
            {
                MessageBox.Show("没有选中行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            SysCommon.CProgress vProgress = new SysCommon.CProgress("正在下载选中文档");
            try
            {
                FolderBrowserDialog dlg = new FolderBrowserDialog();
                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    //初始化进度条

                    vProgress.EnableCancel    = false;
                    vProgress.ShowDescription = true;
                    vProgress.FakeProgress    = true;
                    vProgress.TopMost         = true;
                    vProgress.ShowProgress();

                    string cellvalue = "";
                    foreach (DataGridViewRow row in datagwSource.Rows)
                    {
                        if ((bool)row.Cells[0].EditedFormattedValue == true)
                        {
                            cellvalue = row.Cells[1].Value.ToString().Trim();
                            strExp    = "select * from 文档入库信息表 where 文档名称='" + cellvalue + "' and 文档虚拟目录='" + comboBoxCatalog.Text + "'";
                            DataTable dt       = db.GetDataTableFromMdb(strCon, strExp);
                            string    dir      = path + "\\" + dt.Rows[0]["年度"] + dt.Rows[0]["专题类型"] + dt.Rows[0]["行政代码"] + "\\" + cellvalue + "." + dt.Rows[0]["文档类型"];
                            string    filepath = dlg.SelectedPath + "\\" + cellvalue + "." + dt.Rows[0]["文档类型"];
                            if (File.Exists(dir))
                            {
                                File.Copy(dir, filepath, true);
                            }
                        }
                    }
                    vProgress.Close();
                    MessageBox.Show("下载成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Activate();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                vProgress.Close();
                this.Activate();
            }
        }
Esempio n. 15
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            prename  = "";                          //清空原有数据
            array[0] = GetCode(comboBoxBus.Text);   //业务大类代码如DZ
            array[1] = comboBoxYear.Text;           //年度如2009
            array[2] = GetCode(comboBoxType.Text);  //专题代码如01
            array[3] = GetCode(comboBoxArea.Text);  //区域如420683
            array[4] = GetCode(comboBoxScale.Text); //比例尺如G
            GetDataTreeInitIndex dIndex = new GetDataTreeInitIndex();
            string             mypath   = dIndex.GetDbInfo();
            string             strCon   = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False";//生成连接数据
            GeoDataCenterDbFun db       = new GeoDataCenterDbFun();
            string             strExp   = "select 命名规则 from 图层命名规则表";
            string             strRegex = db.GetInfoFromMdbByExp(strCon, strExp);//正则表达式

            strExp = "select 字段名称 from 图层命名规则表";
            string strname = db.GetInfoFromMdbByExp(strCon, strExp);

            try
            {
                string[] arrRegex = strRegex.Split('(', ')'); //分离正则表达式
                string[] arrName  = strname.Split('+');       //分离字段名称

                Regex regex;

                for (int i = 0; i < arrName.Length; i++)
                {
                    regex = new Regex(arrRegex[2 * i + 1]);
                    switch (arrName[i])
                    {
                    case "业务大类代码":
                        if (!regex.IsMatch(array[0]))    //匹配业务大类代码
                        {
                            MessageBox.Show("业务大类代码不符合命名规则!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                        else
                        {
                            prename += array[0];
                        }
                        break;

                    case "年度":
                        if (!regex.IsMatch(array[1]))    //匹配年度
                        {
                            MessageBox.Show("年度不符合命名规则!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                        else
                        {
                            prename += array[1];
                        }
                        break;

                    case "业务小类代码":
                        if (!regex.IsMatch(array[2]))    //匹配业务小类代码
                        {
                            MessageBox.Show("业务小类代码不符合命名规则!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                        else
                        {
                            prename += array[2];
                        }
                        break;

                    case "行政代码":
                        if (!regex.IsMatch(array[3]))    //匹配行政代码
                        {
                            MessageBox.Show("行政代码不符合命名规则!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                        else
                        {
                            prename += array[3];
                        }
                        break;

                    case "比例尺":
                        if (!regex.IsMatch(array[4]))    //匹配比例尺
                        {
                            MessageBox.Show("比例尺不符合命名规则!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                        else
                        {
                            prename += array[4];
                        }
                        break;
                    }
                }
            }
            catch
            {
                MessageBox.Show("没有命名规则!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            //生成前缀
            tb.Text = prename;
            this.Close();
        }
Esempio n. 16
0
        /// <summary>
        /// 检查名称合法性
        /// </summary>
        /// <param name="name">需要检查的名称</param>
        /// <returns></returns>
        public bool CheckNames(string name)
        {
            if (name.Length < 15 && name.Length > 20)
            {
                return(false);
            }
            try
            {
                GetDataTreeInitIndex dIndex = new GetDataTreeInitIndex();
                string             mypath   = dIndex.GetDbInfo();
                string             strCon   = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False";//生成连接数据
                GeoDataCenterDbFun db       = new GeoDataCenterDbFun();
                string             strExp   = "select 命名规则 from 图层命名规则表";
                string             strRegex = db.GetInfoFromMdbByExp(strCon, strExp);//正则表达式
                strExp = "select 字段名称 from 图层命名规则表";
                string   strname  = db.GetInfoFromMdbByExp(strCon, strExp);
                string[] arrRegex = strRegex.Split('(', ')'); //分离正则表达式
                string[] arrName  = strname.Split('+');       //分离字段名称
                Regex    regex;
                for (int i = 0; i < arrName.Length; i++)
                {
                    regex = new Regex(arrRegex[2 * i + 1]);
                    switch (arrName[i])
                    {
                    case "业务大类代码":
                        if (!regex.IsMatch(name.Substring(0, 2)))    //匹配业务大类代码
                        {
                            return(false);
                        }
                        else
                        {
                            name = name.Remove(0, 2);
                        }
                        break;

                    case "年度":
                        if (!regex.IsMatch(name.Substring(0, 4)))    //匹配年度
                        {
                            return(false);
                        }
                        else
                        {
                            name = name.Remove(0, 4);
                        }
                        break;

                    case "业务小类代码":
                        if (!regex.IsMatch(name.Substring(0, 2)))    //匹配业务小类代码
                        {
                            return(false);
                        }
                        else
                        {
                            name = name.Remove(0, 2);
                        }
                        break;

                    case "行政代码":
                        if (!regex.IsMatch(name.Substring(0, 6)))    //匹配行政代码
                        {
                            return(false);
                        }
                        else
                        {
                            name = name.Remove(0, 6);
                        }
                        break;

                    case "比例尺":
                        if (!regex.IsMatch(name.Substring(0, 1)))    //匹配行比例尺
                        {
                            return(false);
                        }
                        else
                        {
                            name = name.Remove(0, 1);
                        }
                        break;
                    }
                }
                return(true);
            }
            catch
            {
                return(false);
            }
        }
Esempio n. 17
0
        //显示全部数据
        private void LoadGridView(CProgress vprocess)//重载加载数据函数
        {
            GetDataTreeInitIndex dIndex = new GetDataTreeInitIndex();
            string             strExp   = "select 数据源名称 from 物理数据源表";
            string             mypath   = dIndex.GetDbInfo();
            string             strCon   = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False";//生成连接数据库字符串
            GeoDataCenterDbFun db       = new GeoDataCenterDbFun();
            List <string>      list     = db.GetDataReaderFromMdb(strCon, strExp);

            for (int i = 0; i < list.Count; i++)
            {
                comboBoxSource.Items.Add(list[i]);//加载数据源列表框
            }
            if (list.Count > 0)
            {
                comboBoxSource.SelectedIndex = 0;//默认选择第一个
            }
            string player    = "";
            string sourename = comboBoxSource.Text.Trim();

            strExp = "select * from 数据编码表 where 数据源名称='" + sourename + "'";
            DataTable dt = db.GetDataTableFromMdb(strCon, strExp);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                strExp = "select 字段名称 from 图层命名规则表";
                string   strname   = db.GetInfoFromMdbByExp(strCon, strExp);
                string[] arrName   = strname.Split('+');  //分离字段名称
                string   layername = "";
                player = "";
                for (int j = 0; j < arrName.Length; j++)
                {
                    switch (arrName[j])
                    {
                    case "业务大类代码":
                        layername += dt.Rows[i]["业务大类代码"].ToString();        //业务大类代码
                        break;

                    case "年度":
                        layername += dt.Rows[i]["年度"].ToString();        //年度
                        break;

                    case "业务小类代码":
                        layername += dt.Rows[i]["业务小类代码"].ToString();        //业务小类代码
                        break;

                    case "行政代码":
                        layername += dt.Rows[i]["行政代码"].ToString();        //行政代码
                        break;

                    case "比例尺":
                        layername += dt.Rows[i]["比例尺"].ToString();        //比例尺
                        break;
                    }
                }
                layername += dt.Rows[i]["图层代码"].ToString();
                strExp     = "select 描述 from 标准图层信息表 where 代码='" + dt.Rows[i]["图层代码"].ToString() + "'";
                string playername = db.GetInfoFromMdbByExp(strCon, strExp);
                if (playername != "")
                {
                    player = playername;
                }
                else
                {
                    player = dt.Rows[i]["图层代码"].ToString();
                }
                string username = GetSourceUser(comboBoxSource.Text).Trim().ToUpper();;
                if (username != "")
                {
                    layername = username + "." + layername;
                }
                datagwSource.Rows.Add(new object[] { true, layername, player });
            }
            //IWorkspaceFactory Pwf = new FileGDBWorkspaceFactoryClass();
            //pWorkspace = (IWorkspace)(Pwf.OpenFromFile(comboBoxSource.Text, 0));
            //IEnumDataset enumDataset = pWorkspace.get_Datasets(esriDatasetType.esriDTFeatureClass) as IEnumDataset;
            //IDataset dataset = enumDataset.Next();
            ////遍历mdb的每一个独立要素类
            //while (dataset != null)
            //{

            //    IFeatureClass pFeatureClass = dataset as IFeatureClass;
            //    player = pFeatureClass.AliasName.Substring(15);
            //strExp = "select 描述 from 标准图层信息表 where 代码='" + player + "'";
            //string playername = db.GetInfoFromMdbByExp(strCon, strExp);
            //if (playername != "")
            //    player = playername;
            //datagwSource.Rows.Add(new object[] { true, pFeatureClass.AliasName, player });
            //dataset = enumDataset.Next();
            //}
        }
Esempio n. 18
0
        //写入数据编码表和地图入库信息表的方法
        public bool InsertIntoDatabase(string filename)
        {
            bool success;

            try
            {
                if (filename.Contains("."))
                {
                    filename = filename.Substring(filename.LastIndexOf(".") + 1);//针对SDE
                }
                if (filename.Length > 16)
                {
                    GetDataTreeInitIndex dIndex = new GetDataTreeInitIndex();
                    string             mypath   = dIndex.GetDbInfo();
                    string             strCon   = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mypath + ";Mode=ReadWrite|Share Deny None;Persist Security Info=False";//生成连接数据库字符串
                    string             strExp   = "select 字段名称 from 图层命名规则表";
                    GeoDataCenterDbFun db       = new GeoDataCenterDbFun();
                    string             strname  = db.GetInfoFromMdbByExp(strCon, strExp);
                    string[]           arrName  = strname.Split('+');//分离字段名称
                    for (int i = 0; i < arrName.Length; i++)
                    {
                        switch (arrName[i])
                        {
                        case "业务大类代码":
                            array[0] = filename.Substring(0, 2);     //业务大类代码
                            filename = filename.Remove(0, 2);
                            break;

                        case "年度":
                            array[1] = filename.Substring(0, 4);     //年度
                            filename = filename.Remove(0, 4);
                            break;

                        case "业务小类代码":
                            array[2] = filename.Substring(0, 2);     //专题
                            filename = filename.Remove(0, 2);
                            break;

                        case "行政代码":
                            array[3] = filename.Substring(0, 6);    //行政代码
                            filename = filename.Remove(0, 6);
                            break;

                        case "比例尺":
                            array[4] = filename.Substring(0, 1);    //比例尺
                            filename = filename.Remove(0, 1);
                            break;
                        }
                    }
                    array[5] = filename;//图层组成
                    string sourcename = comboBoxSource.Text.Trim();
                    strExp = string.Format("select count(*) from 数据编码表 where 业务大类代码='{0}' and 年度='{1}' and 业务小类代码='{2}'and 行政代码='{3}' and 比例尺='{4}' and 图层代码='{5}' and 数据源名称='{6}'",
                                           array[0], array[1], array[2], array[3], array[4], array[5], sourcename);
                    GeoDataCenterDbFun dDbFun = new GeoDataCenterDbFun();
                    int count = dDbFun.GetCountFromMdb(strCon, strExp);
                    if (count != 1)
                    {
                        strExp = string.Format("insert into 数据编码表(业务大类代码,年度,业务小类代码,行政代码,比例尺,图层代码,数据源名称) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}')",
                                               array[0], array[1], array[2], array[3], array[4], array[5], sourcename);
                        dDbFun.ExcuteSqlFromMdb(strCon, strExp);                                     //更新数据编码表
                        dDbFun.UpdateMdbInfoTable(array[0], array[1], array[2], array[3], array[4]); //更新地图入库信息表
                    }
                    success = true;
                }
                else
                {
                    m_strErr = "命名不规则,写入数据表失败";
                    success  = false;
                }
            }
            catch (System.Exception e)
            {
                MessageBox.Show(e.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                success = false;
            }
            return(success);
        }
Esempio n. 19
0
        //开始分析
        private void btn_Analys_Click(object sender, EventArgs e)
        {
            SysCommon.CProgress vProgress = new SysCommon.CProgress("开始分析数据");
            vProgress.EnableCancel    = false;
            vProgress.ShowDescription = true;
            vProgress.FakeProgress    = true;
            vProgress.TopMost         = true;
            vProgress.ShowProgress();
            try
            {
                string             strArea      = "";
                string             strArea2     = "";
                List <string>      strAreaChild = new List <string>();
                string             strYear      = "";
                string             strScale     = "";
                string             strScale2    = "";
                string             strExp       = "";
                bool               flat         = false; //选了比例尺与否的状态
                int                index        = 0;
                int                ifinish      = 0;     //显示分析了多少条数据
                GeoDataCenterDbFun dbfun        = new GeoDataCenterDbFun();
                m_list.Clear();

                //选择框的8种状态
                #region
                if (comboBoxScale.Text != "" && comboBoxYear.Text != "" && comboBoxArea.Text != "")
                {
                    index = 1;
                }
                else if (comboBoxArea.Text != "" && comboBoxYear.Text != "")
                {
                    index = 2;
                }
                else if (comboBoxArea.Text != "" && comboBoxScale.Text != "")
                {
                    index = 3;
                }
                else if (comboBoxYear.Text != "" && comboBoxScale.Text != "")
                {
                    index = 4;
                }
                else if (comboBoxArea.Text != "")
                {
                    index = 5;
                }
                else if (comboBoxYear.Text != "")
                {
                    index = 6;
                }
                else if (comboBoxScale.Text != "")
                {
                    index = 7;
                }
                else
                {
                    index = 0;
                }
                #endregion

                if (Node != null && comboBoxArea.Text != "")
                {
                    string[] arrr = comboBoxArea.Text.Split('(', ')');
                    strArea2 = arrr[1];
                    //得到所有该行政区的辖区
                    switch (Convert.ToInt32(Node.Tag))
                    {
                    case 1:
                        strArea = "行政代码 like '" + strArea2.Substring(0, 3).Trim() + "*' and ";
                        strExp  = "select 行政代码 from 数据单元表 where 行政代码 like '" + strArea2.Substring(0, 3).Trim() + "*'";
                        break;

                    case 2:
                        strArea = "行政代码 like '" + strArea2.Substring(0, 4).Trim() + "*' and";
                        strExp  = "select 行政代码 from 数据单元表 where 行政代码 like '" + strArea2.Substring(0, 4).Trim() + "*'";
                        break;

                    case 3:
                        strArea = "行政代码='" + strArea2 + "' and ";
                        strExp  = "select 行政代码 from 数据单元表 where 行政代码 = '" + strArea2 + "*'";
                        break;
                    }
                    strAreaChild = dbfun.GetDataReaderFromMdb(m_con, strExp);
                }
                if (comboBoxYear.Text != "")
                {
                    strYear = "年度='" + comboBoxYear.Text + "' and ";
                }
                if (comboBoxScale.Text != "")
                {
                    string [] arrr = comboBoxScale.Text.Split('(', ')');
                    strScale2 = arrr[1];
                    strScale  = "比例尺='" + strScale2 + "' and ";
                    //flat = true;
                }
                //else
                //    flat = false;
                //if (flat)//选了比例尺,不用去掉and
                //    strExp = "select ID from 数据编码表 where " + strArea + strYear + strScale + " and 数据源名称='" + GetSourceName(m_path) + "'";
                //else if (comboBoxYear.Text != "" ||comboBoxArea.Text != "")//比例尺没有选择,而年度或者行政区划选了,要去掉and
                //{
                //strExp = "select ID from 数据编码表 where " + strArea + strYear + "  数据源名称='" + GetSourceName(m_path) + "'";
                //}
                //else//都没有选择
                //    strExp = "select ID from 数据编码表 where  数据源名称='" + GetSourceName(m_path) + "'";

                strExp = "select ID from 数据编码表 where " + strArea + strYear + strScale + " 数据源名称='" + comboBoxSource.Text.Trim() + "'";
                List <string> list = new List <string>();
                list = dbfun.GetDataReaderFromMdb(m_con, strExp);

                // m_path = GetSourcePath(comboBoxSource.Text);
                for (int i = 0; i < list.Count; i++)
                {
                    strExp = "delete * from 数据编码表 where ID=" + Convert.ToInt32(list[i]);
                    dbfun.ExcuteSqlFromMdb(m_con, strExp);//从数据编码表删除符合ID条件的行
                }
                m_list = new List <string>();
                IWorkspace pWorkspace = GetWorkspace(comboBoxSource.Text);
                //遍历数据库中数据并存在m_list列表中
                if (pWorkspace != null)
                {
                    IEnumDataset enumDataset = pWorkspace.get_Datasets(esriDatasetType.esriDTFeatureClass) as IEnumDataset;
                    IDataset     dataset     = enumDataset.Next();
                    //遍历mdb的每一个独立要素类
                    while (dataset != null)
                    {
                        IFeatureClass pFeatureClass = dataset as IFeatureClass;
                        m_list.Add(pFeatureClass.AliasName);
                        dataset = enumDataset.Next();
                    }
                }
                else
                {
                    vProgress.Close();
                    MessageBox.Show("数据源空间不存在", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Activate();
                    return;
                }
                //从m_list中读取数据并分析
                string[] array    = new string[6];
                bool     boolarea = false;

                for (int i = 0; i < m_list.Count; i++)
                {
                    flat = false;
                    if (m_list[i].Contains("."))
                    {
                        m_list[i] = m_list[i].Substring(m_list[i].LastIndexOf(".") + 1);
                    }
                    strExp = "select 字段名称 from 图层命名规则表";
                    string   strname = dbfun.GetInfoFromMdbByExp(m_con, strExp);
                    string[] arrName = strname.Split('+');//分离字段名称
                    for (int ii = 0; ii < arrName.Length; ii++)
                    {
                        switch (arrName[ii])
                        {
                        case "业务大类代码":
                            array[0]  = m_list[i].Substring(0, 2);   //业务大类代码
                            m_list[i] = m_list[i].Remove(0, 2);
                            break;

                        case "年度":
                            array[1]  = m_list[i].Substring(0, 4);   //年度
                            m_list[i] = m_list[i].Remove(0, 4);
                            break;

                        case "业务小类代码":
                            array[2]  = m_list[i].Substring(0, 2);   //业务小类代码
                            m_list[i] = m_list[i].Remove(0, 2);
                            break;

                        case "行政代码":
                            array[3]  = m_list[i].Substring(0, 6);   //行政代码
                            m_list[i] = m_list[i].Remove(0, 6);
                            break;

                        case "比例尺":
                            array[4]  = m_list[i].Substring(0, 1);   //比例尺
                            m_list[i] = m_list[i].Remove(0, 1);
                            break;
                        }
                    }
                    array[5] = m_list[i];                        //图层组成
                    for (int j = 0; j < strAreaChild.Count; j++) //判断是否包含该行政区的辖区
                    {
                        if (strAreaChild[j] == array[3])
                        {
                            boolarea = true;
                            break;
                        }
                    }
                    //判断情况条件是否符合
                    #region
                    switch (index)
                    {
                    case 0:
                        flat = true;
                        break;

                    case 1:
                        if (array[1] == comboBoxYear.Text && array[4] == strScale2 && boolarea)
                        {
                            flat = true;
                        }
                        break;

                    case 2:
                        if (boolarea && array[1] == comboBoxYear.Text)
                        {
                            flat = true;
                        }
                        break;

                    case 3:
                        if (boolarea && array[4] == strScale2)
                        {
                            flat = true;
                        }
                        break;

                    case 4:
                        if (array[1] == comboBoxYear.Text && array[4] == strScale2)
                        {
                            flat = true;
                        }
                        break;

                    case 5:
                        if (boolarea)
                        {
                            flat = true;
                        }
                        break;

                    case 6:
                        if (array[1] == comboBoxYear.Text)
                        {
                            flat = true;
                        }
                        break;

                    case 7:
                        if (array[4] == strScale2)
                        {
                            flat = true;
                        }
                        break;
                    }
                    #endregion

                    string sourecename = comboBoxSource.Text.Trim();
                    if (flat)
                    {
                        ifinish++;

                        strExp = string.Format("insert into 数据编码表(业务大类代码,年度,业务小类代码,行政代码,比例尺,图层代码,数据源名称) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}')",
                                               array[0], array[1], array[2], array[3], array[4], array[5], sourecename);

                        string  strdata = GetLayerName(array[0], array[1], array[2], array[3], array[4]) + array[5];//组织数据
                        string  logpath = Application.StartupPath + "\\..\\Log\\DataManagerLog.txt";
                        LogFile log     = new LogFile(null, logpath);
                        string  strLog  = "开始分析数据源" + sourecename + "中" + strdata + "数据";
                        if (log != null)
                        {
                            log.Writelog(strLog);
                        }
                        vProgress.SetProgress(strLog);
                        dbfun.ExcuteSqlFromMdb(m_con, strExp);                                      //更新数据编码表
                        dbfun.UpdateMdbInfoTable(array[0], array[1], array[2], array[3], array[4]); //更新地图入库信息表
                    }
                }
                ifinish = list.Count >= ifinish ? list.Count : ifinish;
                vProgress.Close();
                this.Activate();
                if (ifinish == 0)
                {
                    MessageBox.Show("没有符合条件的数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("分析完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

                this.Close();
            }
            //重新编号
            //strExp = "alter table 数据编码表 alter column ID counter(1,1)";
            // dbfun.ExcuteSqlFromMdb(m_con,strExp);
            catch (System.Exception ex)
            {
                vProgress.Close();
                MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }