예제 #1
0
        void dif_Completed(object sender, ExportEventArgs e)
        {
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(e.Result);

            XmlHelper         h    = new XmlHelper(doc.DocumentElement);
            List <XmlElement> list = new List <XmlElement>(h.GetElements("Command"));

            BatchImportForm bf = new BatchImportForm(list);

            bf.Completed += new EventHandler(bf_Completed);
            bf.ShowDialog();
        }
        void eh_Completed(object sender, ExportEventArgs e)
        {            
            this.Text = "匯出壓縮檔";
            string content = e.Result;

            if (checkBox1.Checked)
                CompressUtil.CompressStringToFile(txtFileName.Text, e.Result, txtPassword.Text);    
            else
                CompressUtil.CompressStringToFile(txtFileName.Text, e.Result);    

            if (Completed != null)
                Completed.Invoke(this, EventArgs.Empty);

            this.Close();
        }            
예제 #3
0
        void eh_Completed(object sender, ExportEventArgs e)
        {
            SaveFileDialog sd = new SaveFileDialog();

            sd.FileName = this.Table.Name + ".tbak";
            sd.Filter   = "*.tbak|*.tbak";
            DialogResult dr = sd.ShowDialog();

            if (dr != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }
            File.WriteAllText(sd.FileName, XmlHelper.Format(e.Result), Encoding.UTF8);

            MessageBox.Show("匯出完成", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
예제 #4
0
        void eh_Completed(object sender, ExportEventArgs e)
        {
            this.Text = "匯出壓縮檔";
            string content = e.Result;

            if (checkBox1.Checked)
            {
                CompressUtil.CompressStringToFile(txtFileName.Text, e.Result, txtPassword.Text);
            }
            else
            {
                CompressUtil.CompressStringToFile(txtFileName.Text, e.Result);
            }

            if (Completed != null)
            {
                Completed.Invoke(this, EventArgs.Empty);
            }

            this.Close();
        }
예제 #5
0
        void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (e.Error != null && OccurError != null)
            {
                OccurError.Invoke(this, new ErrorEventArgs(e.Error));
                return;
            }

            XmlHelper rsp = e.Result as XmlHelper;

            StringBuilder tmp = new StringBuilder("INSERT INTO \"$");

            tmp.Append(_tableName).Append("\" (");

            StringBuilder tmp2 = new StringBuilder();

            string uidColumnName     = string.Empty;
            string lastUpdateColName = string.Empty;

            foreach (XmlElement fieldElement in rsp.GetElements("Metadata/Column"))
            {
                string fieldName = fieldElement.GetAttribute("Field");
                string index     = fieldElement.GetAttribute("Index");
                if (fieldName == "uid" && !string.IsNullOrWhiteSpace(uidColumnName))
                {
                    continue;
                }

                if (fieldName == "last_update" && !string.IsNullOrWhiteSpace(lastUpdateColName))
                {
                    continue;
                }

                if (fieldName == "uid")
                {
                    uidColumnName = fieldName;
                }

                if (fieldName == "last_update")
                {
                    lastUpdateColName = fieldName;
                }

                tmp.Append("\"").Append(fieldName).Append("\",");
                tmp2.Append("'@@").Append(index).Append("',");
            }

            tmp.Remove(tmp.Length - 1, 1);
            tmp2.Remove(tmp2.Length - 1, 1);

            tmp.Append(") VALUES (").Append(tmp2).Append(");");
            string sqlTemp = tmp.ToString();

            XmlHelper  h    = new XmlHelper();
            XmlElement dcmd = h.AddElement(".", "Command");
            XmlNode    dsec = dcmd.OwnerDocument.CreateCDataSection("TRUNCATE TABLE \"$" + _tableName + "\";");

            dcmd.AppendChild(dsec);

            foreach (XmlElement recElement in rsp.GetElements("Record"))
            {
                string sql = sqlTemp;
                foreach (XmlElement fieldElement in rsp.GetElements("Metadata/Column"))
                {
                    string index = fieldElement.GetAttribute("Index");
                    string type  = fieldElement.GetAttribute("Type");

                    XmlHelper recHelper = new XmlHelper(recElement);
                    string    value     = recHelper.GetText("Column[@Index='" + index + "']");

                    if (value != string.Empty || type == "String")
                    {
                        value = value.Replace("'", "''");
                        value = value.Replace("\\", "\\\\");
                        sql   = sql.Replace("'@@" + index + "'", "'" + value + "'");
                    }
                    else
                    {
                        sql = sql.Replace("'@@" + index + "'", "null");
                    }
                }

                XmlElement cmd     = h.AddElement(".", "Command");
                XmlNode    section = cmd.OwnerDocument.CreateCDataSection(sql);
                cmd.AppendChild(section);
            }

            ExportEventArgs arg = new ExportEventArgs(h.XmlString);

            if (Completed != null)
            {
                Completed.Invoke(this, arg);
            }
        }
예제 #6
0
        void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (e.Error != null && OccurError != null)
            {
                OccurError.Invoke(this, new ErrorEventArgs(e.Error));
                return;
            }

            XmlHelper rsp = e.Result as XmlHelper;

            StringBuilder tmp = new StringBuilder("INSERT INTO \"$");
            tmp.Append(_tableName).Append("\" (");

            StringBuilder tmp2 = new StringBuilder();

            string uidColumnName = string.Empty;
            string lastUpdateColName = string.Empty;
            foreach (XmlElement fieldElement in rsp.GetElements("Metadata/Column"))
            {
                string fieldName = fieldElement.GetAttribute("Field");
                string index = fieldElement.GetAttribute("Index");
                if (fieldName == "uid" && !string.IsNullOrWhiteSpace(uidColumnName))
                    continue;

                if (fieldName == "last_update" && !string.IsNullOrWhiteSpace(lastUpdateColName))
                    continue;

                if (fieldName == "uid")
                    uidColumnName = fieldName;

                if (fieldName == "last_update")
                    lastUpdateColName = fieldName;

                tmp.Append("\"").Append(fieldName).Append("\",");
                tmp2.Append("'@@").Append(index).Append("',");
            }

            tmp.Remove(tmp.Length - 1, 1);
            tmp2.Remove(tmp2.Length - 1, 1);

            tmp.Append(") VALUES (").Append(tmp2).Append(");");
            string sqlTemp = tmp.ToString();

            XmlHelper h = new XmlHelper();
            XmlElement dcmd = h.AddElement(".", "Command");
            XmlNode dsec = dcmd.OwnerDocument.CreateCDataSection("TRUNCATE TABLE \"$" + _tableName + "\";");
            dcmd.AppendChild(dsec);

            foreach (XmlElement recElement in rsp.GetElements("Record"))
            {
                string sql = sqlTemp;
                foreach (XmlElement fieldElement in rsp.GetElements("Metadata/Column"))
                {
                    string index = fieldElement.GetAttribute("Index");
                    string type = fieldElement.GetAttribute("Type");

                    XmlHelper recHelper = new XmlHelper(recElement);
                    string value = recHelper.GetText("Column[@Index='" + index + "']");

                    if (value != string.Empty || type == "String")
                    {
                        value = value.Replace("'", "''");
                        value = value.Replace("\\", "\\\\");
                        sql = sql.Replace("'@@" + index + "'", "'" + value + "'");
                    }
                    else
                        sql = sql.Replace("'@@" + index + "'", "null");
                }

                XmlElement cmd = h.AddElement(".", "Command");
                XmlNode section = cmd.OwnerDocument.CreateCDataSection(sql);
                cmd.AppendChild(section);
            }

            ExportEventArgs arg = new ExportEventArgs(h.XmlString);
            if (Completed != null)
                Completed.Invoke(this, arg);
        }
예제 #7
0
        void dif_Completed(object sender, ExportEventArgs e)
        {
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(e.Result);

            XmlHelper h = new XmlHelper(doc.DocumentElement);
            List<XmlElement> list = new List<XmlElement>(h.GetElements("Command"));

            BatchImportForm bf = new BatchImportForm(list);
            bf.Completed += new EventHandler(bf_Completed);
            bf.ShowDialog();
        }
예제 #8
0
        void eh_Completed(object sender, ExportEventArgs e)
        {
            SaveFileDialog sd = new SaveFileDialog();
            sd.FileName = this.Table.Name + ".tbak";
            sd.Filter = "*.tbak|*.tbak";
            DialogResult dr = sd.ShowDialog();

            if (dr != System.Windows.Forms.DialogResult.OK) return;
            File.WriteAllText(sd.FileName, XmlHelper.Format(e.Result), Encoding.UTF8);

            MessageBox.Show("匯出完成", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }