⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fieldediterconfig.cs

📁 可以实现任意数据库之间的数据互导,可以实现任意数据库之间的数据互导
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.IO;
using System.Reflection;
using System.Data.SqlClient;
using System.Xml;
using System.Threading;

namespace LC_DataIO
{
    public partial class FieldEditerConfig : Form
    {
        public FieldEditerConfig()
        {
            InitializeComponent();
            allformater=getAllFormater();
            types.Add("数字");
            types.Add("字符串");
            types.Add("日期");
        }

        private Hashtable allformater = null;
        public static Hashtable SourceFields = new Hashtable();
        public static Hashtable DesFields = new Hashtable();
        private ArrayList types = new ArrayList();
        Thread t;
        public static ArrayList allrows = new ArrayList();
        private void pre_btn_Click(object sender, EventArgs e)
        {
            WizardFrm.wizard.choseWizard("字段选择编辑");
        }

        private Hashtable getAllFormater()
        {
            Hashtable allmehtods=new Hashtable();
            string[] files = Directory.GetFiles(Application.StartupPath + "//formatdll");
            Assembly temp;
            for (int i = 0; i < files.Length; i++)
            {
                temp = Assembly.LoadFrom(files[i].ToString());
                if (temp != null)
                {
                    Type[] t = temp.GetTypes();
                    MethodInfo[] mi =t[0].GetMethods();
                    for (int k = 0; k < mi.Length; k++)
                    {
                        allmehtods.Add(t[i].Name.ToString() +":"+ mi[k].Name.ToString(), mi[k]);
                    }
                }
            }
            return allmehtods;

        }
        private void FieldEditerConfig_Load(object sender, EventArgs e)
        {
            init();
        }

        public void init()
        {
            loadallsourceField();
            loadallDesField();
        }
        private void loadallsourceField()
        {
            Field temp=null;
            this.dbsource_panel.Controls.Clear();
            SourceFields.Clear();
            for (int i = 0; i < FieldsConfig.sourcereadyfield.Count; i++)
            {
                temp = new Field(1);
                temp.Formaters = allformater;
                temp.FieldName = FieldsConfig.sourcereadyfield[i].ToString();
                temp.Location = new Point(10,10+i*50);
                SourceFields.Add(FieldsConfig.sourcereadyfield[i].ToString(),temp);
                this.dbsource_panel.Controls.Add(temp);
            }
        }
        private void loadallDesField()
        {
            this.desfields_panel.Controls.Clear();
            DesFields.Clear();
            Field temp = null;
            for (int i = 0; i < FieldsConfig.deseadyfield.Count; i++)
            {
                temp = new Field(0);
                temp.Types = types;
                temp.FieldName = FieldsConfig.deseadyfield[i].ToString();
                temp.Location = new Point(10, 10 + i * 50);
                DesFields.Add(FieldsConfig.deseadyfield[i].ToString(), temp);
                this.desfields_panel.Controls.Add(temp);
            }
        }

        private void next_btn_Click(object sender, EventArgs e)
        {
           LC_DataIo.wf.Close();
            t= new Thread(new ThreadStart(threadc));
            t.Start();
       }

        private void threadc()
        {
            DataTable dt = HeadPage.ConverterXml.sourceToXml(TableConfig.SourceReadyTable, FieldsConfig.sourcereadyfield);
            XmlDocument xmldoc;
            XmlNode xmlnode;
            XmlElement xmlroot;
            XmlElement xmlfield;
            XmlText xmlfieldtext;

            xmldoc = new XmlDocument();
            //加入XML的声明段落 
            xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
            xmldoc.AppendChild(xmlnode);
            //加入一个根元素 
            xmlroot = xmldoc.CreateElement("", "ROOT", "");
            xmldoc.AppendChild(xmlroot);
            //加入另外一个元素 

            XmlElement field;
            XmlText fieldtext;
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                xmlfield = xmldoc.CreateElement("Rows");
                for (int k = 0; k < FieldsConfig.sourcereadyfield.Count; k++)
                {
                    string f = FieldsConfig.deseadyfield[k].ToString();
                    string s = FieldsConfig.sourcereadyfield[k].ToString();
                    field = xmldoc.CreateElement(f);
                    fieldtext = xmldoc.CreateTextNode(((Field)(SourceFields[s])).getFormatSourceStr(dt.Rows[i].ItemArray[k].ToString()));
                    field.SetAttribute("type", ((Field)(DesFields[f])).Type);
                    field.AppendChild(fieldtext);
                    xmlfield.AppendChild(field);
                }
                xmldoc.ChildNodes.Item(1).AppendChild(xmlfield);
            }
            xmlfield = xmldoc.CreateElement("Rows");
            xmldoc.ChildNodes.Item(1).AppendChild(xmlfield);
            //保存创建好的XML文档 
            try
            {
                xmldoc.Save(Application.StartupPath + "//data//temp.xml");
            }
            catch (Exception ee)
            {

            }
            allrows = XmlManager.getRows();
            LC_DataIo.ld.startWrite();
            t.Join();

        }   
      }
    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -