Exemple #1
0
        /// <summary>
        /// 把现有数据库中的所有配置保存到数据文件中(单个文件)
        /// </summary>
        /// <param name="filePath"></param>
        public static void ExportAllToXmlFile(string filePath)
        {
            System.IO.StreamWriter sw = new System.IO.StreamWriter(filePath, false);
            ExcelXmlHelper.WriteExcelXmlHead(sw);

            foreach (string s in s_adTables)
            {
                ExcelXmlHelper.WriteExcelXml(Feng.Data.DbHelper.Instance.ExecuteDataTable("SELECT * FROM " + s), sw, s);
            }

            ExcelXmlHelper.WriteExcelXmlTail(sw);
            sw.Close();
        }
Exemple #2
0
        public static IList <Tuple <string, string, string> > FindInAdInfos(string keyWord)
        {
            if (string.IsNullOrEmpty(keyWord))
            {
                return(null);
            }

            string filePath = SystemDirectory.WorkDirectory + "\\AllAdInfos.xml";

            //if (System.IO.File.Exists(filePath))
            //{
            //    if (MessageForm.ShowYesNo("已存在信息配置文件,是否重新生成?"))
            //    {
            //        System.IO.File.Delete(filePath);
            //    }
            //}
            if (!System.IO.File.Exists(filePath))
            {
                ExportAllToXmlFile(filePath);
            }
            var dts = ExcelXmlHelper.ReadExcelXml(filePath, true);
            IList <Tuple <string, string, string> > ret = new List <Tuple <string, string, string> >();

            foreach (var dt in dts)
            {
                foreach (System.Data.DataRow row in dt.Rows)
                {
                    for (int i = 0; i < dt.Columns.Count; ++i)
                    {
                        var v = row[i];
                        if (v != null)
                        {
                            var s = v.ToString();
                            if (s.Contains(keyWord))
                            {
                                ret.Add(new Tuple <string, string, string>(dt.TableName, dt.Columns[i].ColumnName, s));
                            }
                        }
                    }
                }
            }
            return(ret);
        }
Exemple #3
0
        /// <summary>
        /// 按照文件内容,通过主键删除数据
        /// </summary>
        /// <param name="fileName"></param>
        public static void DeleteFromXmlFile(string fileName)
        {
            DisableFKConstraint(s_adPreTableName);

            IList <MyDbCommand> cmds = new List <MyDbCommand>();

            IList <System.Data.DataTable> list = ExcelXmlHelper.ReadExcelXml(fileName, true);

            foreach (System.Data.DataTable i in list)
            {
                foreach (System.Data.DataRow row in i.Rows)
                {
                    System.Data.Common.DbCommand sql = GenerateDeleteCommand(i.TableName, row);
                    System.Data.DataTable        dt  = DbHelper.Instance.ExecuteDataTable(sql);
                }
            }
            DbHelper.Instance.UpdateTransaction(cmds);

            EnableFKConstraint(s_adPreTableName);
        }
Exemple #4
0
        /// <summary>
        /// 把给定文件的数据按照不同数据名文件名导入到数据库中
        /// </summary>
        /// <param name="fileName"></param>
        /// <param name="tryImport"></param>
        public static void ImportFromXmlFile(string fileName, bool tryImport)
        {
            DisableFKConstraint(s_adPreTableName);

            IList <MyDbCommand> cmds = new List <MyDbCommand>();

            IList <System.Data.DataTable> list = ExcelXmlHelper.ReadExcelXml(fileName, true);

            foreach (System.Data.DataTable i in list)
            {
                foreach (System.Data.DataRow row in i.Rows)
                {
                    System.Data.Common.DbCommand sqlSelect = GenerateSelectCountCommand(i.TableName, row);
                    System.Data.Common.DbCommand sqlInsert = GenerateInsertCommand(i.TableName, row);
                    System.Data.Common.DbCommand sqlUpdate = GenerateUpdateCommand(i.TableName, row);

                    StringBuilder sb = new StringBuilder();
                    sb.Append("IF ((");
                    sb.Append(sqlSelect.CommandText);
                    sb.Append(") = 1) BEGIN ");
                    sb.Append(sqlUpdate.CommandText);
                    sb.Append(" END ");
                    sb.Append(" ELSE BEGIN ");
                    sb.Append(sqlInsert.CommandText);
                    sb.Append(" END ");

                    System.Data.Common.DbCommand sql = DbHelper.Instance.Database.GetSqlStringCommand(sb.ToString());
                    foreach (System.Data.Common.DbParameter para in sqlSelect.Parameters)
                    {
                        System.Data.Common.DbParameter parameter = DbHelper.Instance.Database.DbProviderFactory.CreateParameter();
                        parameter.ParameterName = para.ParameterName;
                        parameter.Value         = para.Value;
                        sql.Parameters.Add(parameter);
                    }
                    foreach (System.Data.Common.DbParameter para in sqlInsert.Parameters)
                    {
                        System.Data.Common.DbParameter parameter = DbHelper.Instance.Database.DbProviderFactory.CreateParameter();
                        parameter.ParameterName = para.ParameterName;
                        parameter.Value         = para.Value;
                        sql.Parameters.Add(parameter);
                    }
                    foreach (System.Data.Common.DbParameter para in sqlUpdate.Parameters)
                    {
                        System.Data.Common.DbParameter parameter = DbHelper.Instance.Database.DbProviderFactory.CreateParameter();
                        parameter.ParameterName = para.ParameterName;
                        parameter.Value         = para.Value;
                        sql.Parameters.Add(parameter);
                    }

                    cmds.Add(new MyDbCommand(sql, ExpectedResultTypes.Special, "1"));
                    //System.Data.DataTable dt = DbHelper.Instance.ExecuteDataTable(sql);
                    //if (dt.Rows[0][0].ToString() == "0")
                    //{
                    //    sql = GenerateInsertCommand(i.TableName, row);
                    //    cmds.Add(new MyDbCommand(sql, ExpectedResultTypes.Special, "1"));
                    //}
                    //else
                    //{
                    //    sql = GenerateUpdateCommand(i.TableName, row);
                    //    cmds.Add(new MyDbCommand(sql, ExpectedResultTypes.Special, "1"));
                    //}

                    if (tryImport)
                    {
                        break;
                    }
                }
            }
            DbHelper.Instance.UpdateTransaction(cmds);

            EnableFKConstraint(s_adPreTableName);
        }
Exemple #5
0
        private void btnExportYwsj_Click(object sender, EventArgs e)
        {
            SaveFileDialog dlg = new SaveFileDialog();

            dlg.RestoreDirectory = true;
            dlg.Filter           = "Excel Xml(*.xml)|*.xml";
            //saveFileDialog1.Title = "保存";
            string today = System.DateTime.Today.ToString("yyyy-MM-dd");

            today = "2010-01-28";
            string whereSql = "(A.Created >= '" + today + "' OR A.Updated >= '" + today + "')";

            string[] sqls = new string[] {
                "SELECT A.* FROM 财务_费用实体 A WHERE (A.费用实体类型 = 11 OR A.费用实体类型 = 15 OR A.费用实体类型 = 45) AND " + whereSql,
                "SELECT B.* FROM 业务备案_普通票 B INNER JOIN 财务_费用实体 A ON A.ID = B.ID AND " + whereSql,
                "SELECT B.* FROM 业务备案_进口票 B INNER JOIN 财务_费用实体 A ON A.ID = B.ID AND " + whereSql,
                "SELECT B.* FROM 业务备案_内贸出港票 B INNER JOIN 财务_费用实体 A ON A.ID = B.ID AND " + whereSql,
                "SELECT B.* FROM 业务备案_进口其他业务票 B INNER JOIN 财务_费用实体 A ON A.ID = B.ID AND " + whereSql,
                "SELECT A.* FROM 业务备案_普通箱 A WHERE " + whereSql,
                "SELECT B.* FROM 业务备案_进口箱 B INNER JOIN 业务备案_普通箱 A ON A.ID = B.ID AND " + whereSql,
                "SELECT B.* FROM 业务备案_内贸出港箱 B INNER JOIN 业务备案_普通箱 A ON A.ID = B.ID AND " + whereSql,
                "SELECT B.* FROM 业务备案_进口其他业务箱 B INNER JOIN 业务备案_普通箱 A ON A.ID = B.ID AND " + whereSql,
                "SELECT A.* FROM 业务过程_进口票_转关标志 A WHERE " + whereSql,
                "SELECT B.* FROM 业务过程_进口票_转关 B INNER JOIN 业务过程_进口票_转关标志 A ON A.ID = B.ID AND " + whereSql,
                "SELECT B.* FROM 业务过程_进口票_清关 B INNER JOIN 业务过程_进口票_转关标志 A ON A.ID = B.ID AND " + whereSql,
                "SELECT A.* FROM 参数备案_币制 A WHERE " + whereSql,
                "SELECT A.* FROM 参数备案_人员单位 A WHERE " + whereSql,
                "SELECT A.* FROM 参数备案_箱型 A WHERE " + whereSql,
                "SELECT A.* FROM 信息_角色用途 A WHERE " + whereSql,
                "SELECT A.* FROM 信息_业务类型 A WHERE " + whereSql
            };

            string[] dbTables = new string[] {
                "财务_费用实体",
                "业务备案_普通票",
                "业务备案_进口票",
                "业务备案_内贸出港票",
                "业务备案_进口其他业务票",
                "业务备案_普通箱",
                "业务备案_进口箱",
                "业务备案_内贸出港箱",
                "业务备案_进口其他业务箱",
                "业务过程_进口票_转关标志",
                "业务过程_进口票_转关",
                "业务过程_进口票_清关",
                "参数备案_币制",
                "参数备案_人员单位",
                "参数备案_箱型",
                "信息_角色用途",
                "信息_业务类型"
            };
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                System.IO.StreamWriter sw = new System.IO.StreamWriter(dlg.FileName, false, Encoding.UTF8);
                ExcelXmlHelper.WriteExcelXmlHead(sw);

                if (dbTables.Length != sqls.Length)
                {
                    throw new ArgumentException("length should be equal!");
                }
                for (int i = 0; i < sqls.Length; ++i)
                {
                    ExcelXmlHelper.WriteExcelXml(Feng.Data.DbHelper.Instance.ExecuteDataTable(sqls[i]), sw, dbTables[i]);
                }
                ExcelXmlHelper.WriteExcelXmlTail(sw);
                sw.Close();
            }
        }
Exemple #6
0
        public string GenerateDate(DateTime dateBegin, DateTime dateEnd, int type, int cliendId)
        {
            string d1        = dateBegin.ToString("yyyy-MM-dd");
            string d2        = dateEnd.AddDays(1).ToString("yyyy-MM-dd");
            string whereSql  = "((A.Created >= '" + d1 + "' OR A.Updated >= '" + d1 + "') AND (A.Created <= '" + d2 + "' OR A.Updated <= '" + d2 + "') AND ClientId = " + cliendId + ")";
            string whereSql2 = "(A.Created >= '" + d1 + "' AND A.Created <= '" + d2 + "')";

            if (type == 1)
            {
                string[] sqls = new string[] {
                    "SELECT A.ID, A.Version, A.编号, A.费用实体类型, A.Submitted, A.CreatedBy, A.Created, A.UpdatedBy, A.Updated, A.ClientId, A.OrgId, A.IsActive FROM 财务_费用实体 A WHERE (A.费用实体类型 = 11 OR A.费用实体类型 = 15 OR A.费用实体类型 = 45) AND " + whereSql,
                    "SELECT B.ID, B.货代自编号, B.委托时间, B.委托人, B.提单号, B.代表性箱号, B.合同号, B.报检号, B.报关单号, B.船公司, B.船名航次, B.箱量, B.标箱量, B.货物类别, B.件数, B.单价, B.总重量, B.内部备注, B.对上备注, B.对下备注, B.允许应收对账 FROM 业务备案_普通票 B INNER JOIN 财务_费用实体 A ON A.ID = B.ID AND " + whereSql,
                    "SELECT B.* FROM 业务备案_进口票 B INNER JOIN 财务_费用实体 A ON A.ID = B.ID AND " + whereSql,
                    "SELECT B.* FROM 业务备案_内贸出港票 B INNER JOIN 财务_费用实体 A ON A.ID = B.ID AND " + whereSql,
                    "SELECT B.* FROM 业务备案_进口其他业务票 B INNER JOIN 财务_费用实体 A ON A.ID = B.ID AND " + whereSql,
                    "SELECT A.* FROM 业务备案_普通箱 A WHERE " + whereSql,
                    "SELECT B.* FROM 业务备案_进口箱 B INNER JOIN 业务备案_普通箱 A ON A.ID = B.ID AND " + whereSql,
                    "SELECT B.* FROM 业务备案_内贸出港箱 B INNER JOIN 业务备案_普通箱 A ON A.ID = B.ID AND " + whereSql,
                    "SELECT B.* FROM 业务备案_进口其他业务箱 B INNER JOIN 业务备案_普通箱 A ON A.ID = B.ID AND " + whereSql,
                    "SELECT A.* FROM 业务过程_进口票_转关标志 A WHERE " + whereSql,
                    "SELECT B.* FROM 业务过程_进口票_转关 B INNER JOIN 业务过程_进口票_转关标志 A ON A.ID = B.ID AND " + whereSql,
                    "SELECT B.* FROM 业务过程_进口票_清关 B INNER JOIN 业务过程_进口票_转关标志 A ON A.ID = B.ID AND " + whereSql,
                    "SELECT A.* FROM 参数备案_币制 A WHERE " + whereSql,
                    "SELECT A.* FROM 参数备案_人员单位 A WHERE " + whereSql,
                    "SELECT A.* FROM 参数备案_箱型 A WHERE " + whereSql,
                    "SELECT A.* FROM 信息_角色用途 A WHERE " + whereSql,
                    "SELECT A.* FROM 信息_费用类别 A WHERE " + whereSql/*,
                                                                  * "SELECT A.* FROM SD_AuditLogRecord A WHERE " + whereSql2*/
                };

                string[] dbTables = new string[] {
                    "财务_费用实体",
                    "业务备案_普通票",
                    "业务备案_进口票",
                    "业务备案_内贸出港票",
                    "业务备案_进口其他业务票",
                    "业务备案_普通箱",
                    "业务备案_进口箱",
                    "业务备案_内贸出港箱",
                    "业务备案_进口其他业务箱",
                    "业务过程_进口票_转关标志",
                    "业务过程_进口票_转关",
                    "业务过程_进口票_清关",
                    "参数备案_币制",
                    "参数备案_人员单位",
                    "参数备案_箱型",
                    "信息_角色用途",
                    "信息_费用类别",
                    /*"SD_AuditLogRecord"*/ };

                string fileName           = cliendId + "-" + type + "-" + d1 + "-" + d2 + ".xml";
                System.IO.StreamWriter sw = new System.IO.StreamWriter(fileName, false, Encoding.UTF8);
                ExcelXmlHelper.WriteExcelXmlHead(sw);

                if (dbTables.Length != sqls.Length)
                {
                    throw new ArgumentException("length should be equal!");
                }
                for (int i = 0; i < sqls.Length; ++i)
                {
                    ExcelXmlHelper.WriteExcelXml(Feng.Data.DbHelper.Instance.ExecuteDataTable(sqls[i]), sw, dbTables[i]);
                }
                ExcelXmlHelper.WriteExcelXmlTail(sw);
                sw.Close();

                string zipFileName = System.IO.Path.ChangeExtension(fileName, ".zip");

                CompressionHelper.ZipFromFile(fileName, zipFileName);

                return(zipFileName);
            }
            else
            {
                throw new ArgumentException("Invalid type!");
            }
        }