Exemplo n.º 1
0
        private void updateTableStructure(string tableName)
        {
            DataTable dt = GetDataTable(txtTemplageFile.Text);
            // 增加对应关系

            var structures = TableDAL.getTableStructure(tableName);

            int max = getMaxColumnIndex(structures);

            for (int i = 0; i < dt.Columns.Count; i++)
            {
                DataColumn column = dt.Columns[i];
                if (structures.FirstOrDefault(it => it.Comments == column.ColumnName) == null)
                {
                    max++;
                    double d = 0.0;
                    if (double.TryParse(dt.Rows[0][column].ToString(), out d))
                    {
                        TableDAL.AddColumn(tableName, "COLUMN" + max.ToString(), "number");
                    }
                    else
                    {
                        TableDAL.AddColumn(tableName, "COLUMN" + max.ToString(), "string");
                    }
                    TableDAL.Comment(tableName, "COLUMN" + max.ToString(), column.ColumnName);
                }
            }

            structures = TableDAL.getTableStructure(tableName);

            for (int i = 0; i < dt.Columns.Count; i++)
            {
                DataColumn column = dt.Columns[i];

                var structure = structures.FirstOrDefault(it => it.Comments == column.ColumnName);
                if (structure != null)
                {
                    DataScriptMap map = new DataScriptMap();
                    map.FID = Guid.NewGuid().ToString().Replace("-", "");
                    map.MdsImpDataScriptRuleID = dScript.FID;
                    map.TableColName           = structure.ColumnName;
                    map.FileColName            = structure.Comments;
                    map.TransferType           = "02";
                    map.CreatedBy     = MainWindow.UserID;
                    map.LastUpdatedBy = MainWindow.UserID;
                    map.LastUpdateIp  = "127.0.0.1";

                    DataScriptMapDAL.Insert(map);
                }
            }
        }