Esempio n. 1
0
        /// <summary>
        /// 根据参数生成修改SQL语句
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="condition">条件</param>
        /// <param name="updateFiles">参数</param>
        /// <returns></returns>
        public override string UpdateSqlCreate <T>(string condition = "", List <ColumInfo> updateFiles = null)
        {
            Predicate <ColumInfo> predicate = null;
            string    empty      = string.Empty;
            TableInfo dataFields = ModelHepper.GetDataFields <T>(default(T));

            if ((condition ?? "").Trim() == "")
            {
                List <ColumInfo> arg_59_0 = dataFields.Colums;
                if (predicate == null)
                {
                    predicate = ((ColumInfo x) => x.ColIsKey);
                }
                ColumInfo columInfo = arg_59_0.Find(predicate);
                condition = string.Format(" {0}=@{0} ", columInfo.ColName);
            }
            if (updateFiles == null || updateFiles.Count == 0)
            {
                updateFiles = dataFields.Colums.FindAll((ColumInfo x) => !x.ColIsKey && !x.ColIsIgnore && x.ColCanWrite);
            }
            string arg = string.Join(",", (from a in updateFiles
                                           select a.ColName + " = @" + a.ColName).ToList <string>());
            string format = " update {0} set {1} where {2} ";

            return(string.Format(format, dataFields.TableName, arg, condition));
        }
        public void GetDdlTest1()
        {
            var dbVm = new DbViewModel();
            var table = new TableViewModel("TEST");
            dbVm.Tables.Add(table);

            var col1 = new ColumInfo("COL1", new FieldType(8, null, null, null, null, 4), new ColumConstraintsInfo(ConstraintsKind.Primary), "RDB$1", false, true, "");
            table.Colums.Add(new ColumViewMoodel(col1));
            var col2 = new ColumInfo("COL2", new FieldType(37, null, 100, null, null, 400), new ColumConstraintsInfo(ConstraintsKind.None), "RDB$2", false, true, "");
            table.Colums.Add(new ColumViewMoodel(col2));
            var col3 = new ColumInfo("COL3", new FieldType(35, null, null, null, null, 8), new ColumConstraintsInfo(ConstraintsKind.None), "RDB$3", false, true, "");
            table.Colums.Add(new ColumViewMoodel(col3));
            var col4 = new ColumInfo("COL4", new FieldType(261, null, null, null, null, 8), new ColumConstraintsInfo(ConstraintsKind.None), "RDB$4", true, true, "");
            table.Colums.Add(new ColumViewMoodel(col4));

            var idx = new IndexInfo();
            idx.Name = "RDB$PRIMARYKEY1";
            idx.TableName = table.TableName;
            idx.Kind = ConstraintsKind.Primary;
            idx.FieldNames.Add(col1.ColumName);
            var idxVm = new IndexViewModel(idx);

            dbVm.Indexes.Add(idxVm);
            table.Indexs.Add(idxVm);

            table.GetDdl(dbVm).Is(
            "CREATE TABLE TEST (" + Environment.NewLine +
            "  COL1 INTEGER NOT NULL," + Environment.NewLine +
            "  COL2 VARCHAR(100) NOT NULL," + Environment.NewLine +
            "  COL3 TIMESTAMP NOT NULL," + Environment.NewLine +
            "  COL4 BLOB," + Environment.NewLine +
            "  PRIMARY KEY (COL1)" + Environment.NewLine +
            ")");
        }
Esempio n. 3
0
    private TableInfo getTableInfo(string tableName)
    {
        TableInfo tableInfo = new TableInfo();

        tableInfo.TableName = tableName;

        try
        {
            SqlCommand Cmd = this.getSQLConnect();

            Cmd.CommandText = "SELECT COLUMN_NAME,COLUMN_DEFAULT,IS_NULLABLE,DATA_TYPE,CHARACTER_MAXIMUM_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TABLE_NAME ";
            Cmd.Parameters.Add("TABLE_NAME", SqlDbType.NVarChar).Value = tableName;

            DataTable objTable = findAll(Cmd);

            SQLClose();

            foreach (DataRow objRow in objTable.Rows)
            {
                ColumInfo objColum = new ColumInfo();

                objColum.ColumName = objRow["COLUMN_NAME"].ToString();
                objColum.ColumType = objRow["DATA_TYPE"].ToString().ToLower();

                objColum.ColumDefault = objRow["COLUMN_DEFAULT"].ToString();

                try
                {
                    objColum.ColumLeng = (int)objRow["CHARACTER_MAXIMUM_LENGTH"];
                }
                catch { }

                tableInfo.ListColums.Add(objColum.ColumName, objColum);
            }


            Cmd             = this.getSQLConnect();
            Cmd.CommandText = "SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE WHERE TABLE_NAME = @TABLE_NAME AND CONSTRAINT_NAME LIKE 'PK%' ";
            Cmd.Parameters.Add("TABLE_NAME", SqlDbType.NVarChar).Value = tableName;

            try
            {
                tableInfo.PrimaryKey = Cmd.ExecuteScalar().ToString();

                ((ColumInfo)tableInfo.ListColums[tableInfo.PrimaryKey]).isPrimaryKy = true;
            }
            catch { }


            SQLClose();
        }
        catch (Exception ex)
        {
            throw ex;
        }


        return(tableInfo);
    }
Esempio n. 4
0
        public static int Insert(ColumInfo item)
        {
            string sql = string.Format("INSERT INTO MDS_IMP_COLUM_INFO(FID,PM_TASK_TIME_ID,TABLE_NAME,COL_NAME,REMARK,CREATED_BY,CREATION_DATE,LAST_UPDATED_BY,LAST_UPDATE_DATE,LAST_UPDATE_IP,VERSION) ");

            sql += string.Format("VALUES('{0}','{1}','{2}','{3}','{4}','{5}',to_date('{6}','yyyy/mm/dd hh24:mi:ss'),'{7}',to_date('{8}','yyyy/mm/dd hh24:mi:ss'),'{9}',{10})",
                                 item.FID, item.TaskTimeID, item.TableName, item.ColName, item.Remark, item.CreatedBy,
                                 item.CreationDate, item.LastUpdatedBy, item.LastUpdateDate, item.LastUpdateIp, item.Version);

            return(OracleHelper.Excuse(sql));
        }
        public void GetDdlTest2()
        {
            var dbVm  = new DbViewModel();
            var table = new TableViewModel("TEST");

            dbVm.Tables.Add(table);

            var col1 = new ColumInfo("COL1", new FieldType(8, null, null, null, null), new ConstraintsInfo(ConstraintsKind.Primary), "RDB$1", false);

            table.Colums.Add(new ColumViewMoodel(col1));
            var col2 = new ColumInfo("COL2", new FieldType(37, null, 100, null, null), new ConstraintsInfo(ConstraintsKind.Primary), "RDB$2", false);

            table.Colums.Add(new ColumViewMoodel(col2));
            var col3 = new ColumInfo("COL3", new FieldType(35, null, null, null, null), new ConstraintsInfo(ConstraintsKind.None), "RDB$3", false);

            table.Colums.Add(new ColumViewMoodel(col3));
            var col4 = new ColumInfo("COL4", new FieldType(261, null, null, null, null), new ConstraintsInfo(ConstraintsKind.None), "RDB$4", true);

            table.Colums.Add(new ColumViewMoodel(col4));
            var col5 = new ColumInfo("COL5", new FieldType(7, 1, null, 4, 0), new ConstraintsInfo(ConstraintsKind.None), "RDB$4", true);

            table.Colums.Add(new ColumViewMoodel(col5));
            var col6 = new ColumInfo("COL6", new FieldType(8, 2, null, 4, -2), new ConstraintsInfo(ConstraintsKind.None), "RDB$4", true);

            table.Colums.Add(new ColumViewMoodel(col6));
            var col7 = new ColumInfo("COL7", new FieldType(16, 2, null, 10, -4), new ConstraintsInfo(ConstraintsKind.None), "RDB$4", true);

            table.Colums.Add(new ColumViewMoodel(col7));

            var idx = new IndexInfo();

            idx.Name      = "COMPLEXKEY";
            idx.TableName = table.TableName;
            idx.Kind      = ConstraintsKind.Primary;
            idx.FieldNames.Add(col1.ColumName);
            idx.FieldNames.Add(col2.ColumName);
            var idxVm = new IndexViewModel(idx);

            dbVm.Indexes.Add(idxVm);
            table.Indexs.Add(idxVm);

            table.GetDdl(dbVm).Is(
                "CREATE TABLE TEST (" + Environment.NewLine +
                "  COL1 INTEGER NOT NULL," + Environment.NewLine +
                "  COL2 VARCHAR(100) NOT NULL," + Environment.NewLine +
                "  COL3 TIMESTAMP NOT NULL," + Environment.NewLine +
                "  COL4 BLOB," + Environment.NewLine +
                "  COL5 NUMERIC(4)," + Environment.NewLine +
                "  COL6 DECIMAL(4,2)," + Environment.NewLine +
                "  COL7 DECIMAL(10,4)," + Environment.NewLine +
                "  CONSTRAINT COMPLEXKEY PRIMARY KEY (COL1, COL2)" + Environment.NewLine +
                ")");
        }
Esempio n. 6
0
        public void GetDdlTest()
        {
            var table = new TableViewModel(new TableInfo("test"));
            var col1  = new ColumInfo("col1", 8, null, FAManagementStudio.Common.ConstraintsKind.Primary);

            table.Colums.Add(new ColumViewMoodel(col1));
            var col2 = new ColumInfo("col2", 37, 100, FAManagementStudio.Common.ConstraintsKind.NotNull);

            table.Colums.Add(new ColumViewMoodel(col2));
            var col3 = new ColumInfo("col3", 35, null, FAManagementStudio.Common.ConstraintsKind.NotNull);

            table.Colums.Add(new ColumViewMoodel(col3));
            var col4 = new ColumInfo("col4", 261, null, FAManagementStudio.Common.ConstraintsKind.None);

            table.Colums.Add(new ColumViewMoodel(col4));

            table.GetDdl().Is("CREATE TABLE TEST (COL1 INTEGER PRIMARY KEY, COL2 VARCHAR(100) NOT NULL, COL3 TIMESTAMP NOT NULL, COL4 BLOB)");
        }
        public void GetDdlTest2()
        {
            var dbVm = new DbViewModel();
            var table = new TableViewModel("TEST");
            dbVm.Tables.Add(table);

            var col1 = new ColumInfo("COL1", new FieldType(8, null, null, null, null, 4), new ColumConstraintsInfo(ConstraintsKind.Primary), "RDB$1", false, true, "");
            table.Colums.Add(new ColumViewMoodel(col1));
            var col2 = new ColumInfo("COL2", new FieldType(37, null, 100, null, null, 400), new ColumConstraintsInfo(ConstraintsKind.Primary), "RDB$2", false, true, "");
            table.Colums.Add(new ColumViewMoodel(col2));
            var col3 = new ColumInfo("COL3", new FieldType(35, null, null, null, null, 8), new ColumConstraintsInfo(ConstraintsKind.None), "RDB$3", false, true, "");
            table.Colums.Add(new ColumViewMoodel(col3));
            var col4 = new ColumInfo("COL4", new FieldType(261, null, null, null, null, 8), new ColumConstraintsInfo(ConstraintsKind.None), "RDB$4", true, true, "");
            table.Colums.Add(new ColumViewMoodel(col4));
            var col5 = new ColumInfo("COL5", new FieldType(7, 1, null, 4, 0, 4), new ColumConstraintsInfo(ConstraintsKind.None), "RDB$4", true, true, "");
            table.Colums.Add(new ColumViewMoodel(col5));
            var col6 = new ColumInfo("COL6", new FieldType(8, 2, null, 4, -2, 4), new ColumConstraintsInfo(ConstraintsKind.None), "RDB$4", true, true, "");
            table.Colums.Add(new ColumViewMoodel(col6));
            var col7 = new ColumInfo("COL7", new FieldType(16, 2, null, 10, -4, 8), new ColumConstraintsInfo(ConstraintsKind.None), "RDB$4", true, true, "");
            table.Colums.Add(new ColumViewMoodel(col7));

            var idx = new IndexInfo();
            idx.Name = "COMPLEXKEY";
            idx.TableName = table.TableName;
            idx.Kind = ConstraintsKind.Primary;
            idx.FieldNames.Add(col1.ColumName);
            idx.FieldNames.Add(col2.ColumName);
            var idxVm = new IndexViewModel(idx);

            dbVm.Indexes.Add(idxVm);
            table.Indexs.Add(idxVm);

            table.GetDdl(dbVm).Is(
            "CREATE TABLE TEST (" + Environment.NewLine +
            "  COL1 INTEGER NOT NULL," + Environment.NewLine +
            "  COL2 VARCHAR(100) NOT NULL," + Environment.NewLine +
            "  COL3 TIMESTAMP NOT NULL," + Environment.NewLine +
            "  COL4 BLOB," + Environment.NewLine +
            "  COL5 NUMERIC(4)," + Environment.NewLine +
            "  COL6 DECIMAL(4,2)," + Environment.NewLine +
            "  COL7 DECIMAL(10,4)," + Environment.NewLine +
            "  CONSTRAINT COMPLEXKEY PRIMARY KEY (COL1, COL2)" + Environment.NewLine +
            ")");
        }
Esempio n. 8
0
        /// <summary>
        /// 分页查询
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="condition">条件</param>
        /// <param name="orderby">排序</param>
        /// <param name="startIndex">开始Index</param>
        /// <param name="endIndex">结束Index</param>
        /// <returns></returns>
        public override string SelectByPageSqlCreate <T>(string condition = "", string orderby = "", int startIndex = 0, int endIndex = 0)
        {
            Func <string, string> func      = null;
            Predicate <ColumInfo> predicate = null;
            string    empty      = string.Empty;
            TableInfo dataFields = ModelHepper.GetDataFields <T>(default(T));

            if ((condition ?? "").Trim() != "")
            {
                condition = " where " + condition;
            }
            if ((orderby ?? "").Trim() != "")
            {
                string[] array = orderby.Split(new char[]
                {
                    ','
                });
                IEnumerable <string> arg_9D_0 = array;
                if (func == null)
                {
                    func = ((string a) => "T." + a.Trim());
                }
                List <string> values = arg_9D_0.Select(func).ToList <string>();
                orderby = " order by " + string.Join(",", values);
            }
            else
            {
                List <ColumInfo> arg_DF_0 = dataFields.Colums;
                if (predicate == null)
                {
                    predicate = ((ColumInfo x) => x.ColIsKey);
                }
                ColumInfo columInfo = arg_DF_0.Find(predicate);
                orderby = string.Format(" order by T.{0} desc ", columInfo.ColName.Trim());
            }
            string text = " SELECT * FROM ( \r\n                                         SELECT ROW_NUMBER() OVER ({1}) AS Row, T.*  \r\n                                         from {0} T \r\n                                         {2} \r\n                                ) TT   ";

            if (startIndex * endIndex > 0)
            {
                text += string.Format(" WHERE TT.Row between {0} and {1} ", startIndex, endIndex);
            }
            return(string.Format(text, dataFields.TableName, orderby, condition));
        }
        public void GetDdlTest3()
        {
            var dbVm  = new DbViewModel();
            var table = new TableViewModel("TEST");

            dbVm.Tables.Add(table);

            var col1 = new ColumInfo("COL1", new FieldType(8, null, null, null, null), new ConstraintsInfo(ConstraintsKind.Primary), "SARARY", false);

            table.Colums.Add(new ColumViewMoodel(col1));
            var col2 = new ColumInfo("COL2", new FieldType(37, null, 100, null, null), new ConstraintsInfo(ConstraintsKind.Primary), "NAME", false);

            table.Colums.Add(new ColumViewMoodel(col2));
            var col3 = new ColumInfo("COL3", new FieldType(35, null, null, null, null), new ConstraintsInfo(ConstraintsKind.None), "RDB$3", false);

            table.Colums.Add(new ColumViewMoodel(col3));
            var col4 = new ColumInfo("COL4", new FieldType(261, null, null, null, null), new ConstraintsInfo(ConstraintsKind.None), "RDB$4", true);

            table.Colums.Add(new ColumViewMoodel(col4));

            var idx = new IndexInfo();

            idx.Name      = "COMPLEXKEY";
            idx.TableName = table.TableName;
            idx.Kind      = FAManagementStudio.Common.ConstraintsKind.Primary;
            idx.FieldNames.Add(col1.ColumName);
            idx.FieldNames.Add(col2.ColumName);
            var idxVm = new IndexViewModel(idx);

            dbVm.Indexes.Add(idxVm);
            table.Indexs.Add(idxVm);

            table.GetDdl(dbVm).Is(
                "CREATE DOMAIN SARARY AS INTEGER;" + Environment.NewLine +
                "CREATE DOMAIN NAME AS VARCHAR(100);" + Environment.NewLine +
                "CREATE TABLE TEST (" + Environment.NewLine +
                "  COL1 SARARY NOT NULL," + Environment.NewLine +
                "  COL2 NAME NOT NULL," + Environment.NewLine +
                "  COL3 TIMESTAMP NOT NULL," + Environment.NewLine +
                "  COL4 BLOB," + Environment.NewLine +
                "  CONSTRAINT COMPLEXKEY PRIMARY KEY (COL1, COL2)" + Environment.NewLine +
                ")");
        }
Esempio n. 10
0
        public static void Insert(String tableName, string taskID, string userid, List <Structure> structures)
        {
            foreach (var item in structures)
            {
                ColumInfo info = new ColumInfo();
                info.FID            = Guid.NewGuid().ToString().Replace("-", "");
                info.TaskTimeID     = taskID;
                info.TableName      = tableName;
                info.ColName        = item.ColumnName;
                info.Remark         = item.Comments;
                info.CreatedBy      = userid;
                info.CreationDate   = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
                info.LastUpdateDate = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
                info.LastUpdatedBy  = userid;
                info.LastUpdateIp   = "";

                Insert(info);
            }
        }
        public void GetDdlTest4()
        {
            var dbVm  = new DbViewModel();
            var table = new TableViewViewModel("SNOW_LINE", "SELECT CITY, STATE, ALTITUDE FROM CITIES WHERE ALTITUDE > 5000");

            dbVm.Tables.Add(table);

            var col1 = new ColumInfo("CITY", new FieldType(8, null, null, null, null), new ConstraintsInfo(ConstraintsKind.Primary), "SARARY", false);

            table.Colums.Add(new ColumViewMoodel(col1));
            var col2 = new ColumInfo("STATE", new FieldType(37, null, 100, null, null), new ConstraintsInfo(ConstraintsKind.Primary), "NAME", false);

            table.Colums.Add(new ColumViewMoodel(col2));
            var col3 = new ColumInfo("SNOW_ALTITUDE", new FieldType(35, null, null, null, null), new ConstraintsInfo(ConstraintsKind.None), "RDB$3", false);

            table.Colums.Add(new ColumViewMoodel(col3));

            table.GetDdl(dbVm).Is(
                "CREATE VIEW SNOW_LINE (CITY, STATE, SNOW_ALTITUDE) AS" + Environment.NewLine +
                "SELECT CITY, STATE, ALTITUDE FROM CITIES WHERE ALTITUDE > 5000");
        }
Esempio n. 12
0
        /// <summary>
        /// 根据参数生成删除SQL语句
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="condition">条件</param>
        /// <returns></returns>
        public override string DeleteSqlCreate <T>(string condition = "")
        {
            Predicate <ColumInfo> predicate = null;
            string    empty      = string.Empty;
            TableInfo dataFields = ModelHepper.GetDataFields <T>(default(T));

            if ((condition ?? "").Trim() == "")
            {
                List <ColumInfo> arg_59_0 = dataFields.Colums;
                if (predicate == null)
                {
                    predicate = ((ColumInfo x) => x.ColIsKey);
                }
                ColumInfo columInfo = arg_59_0.Find(predicate);
                condition = string.Format(" {0}=@{0} ", columInfo.ColName);
            }
            //string format = " delete from {0} where {1} ";
            string format = " update {0} set Deleted = 1 where {1} ";

            return(string.Format(format, dataFields.TableName, condition));
        }
        public void GetDdlTest1()
        {
            var dbVm  = new DbViewModel();
            var table = new TableViewModel("TEST");

            dbVm.Tables.Add(table);

            var col1 = new ColumInfo("COL1", new FieldType(8, null, null, null, null), new ConstraintsInfo(ConstraintsKind.Primary), "RDB$1", false);

            table.Colums.Add(new ColumViewMoodel(col1));
            var col2 = new ColumInfo("COL2", new FieldType(37, null, 100, null, null), new ConstraintsInfo(ConstraintsKind.None), "RDB$2", false);

            table.Colums.Add(new ColumViewMoodel(col2));
            var col3 = new ColumInfo("COL3", new FieldType(35, null, null, null, null), new ConstraintsInfo(ConstraintsKind.None), "RDB$3", false);

            table.Colums.Add(new ColumViewMoodel(col3));
            var col4 = new ColumInfo("COL4", new FieldType(261, null, null, null, null), new ConstraintsInfo(ConstraintsKind.None), "RDB$4", true);

            table.Colums.Add(new ColumViewMoodel(col4));

            var idx = new IndexInfo();

            idx.Name      = "RDB$PRIMARYKEY1";
            idx.TableName = table.TableName;
            idx.Kind      = ConstraintsKind.Primary;
            idx.FieldNames.Add(col1.ColumName);
            var idxVm = new IndexViewModel(idx);

            dbVm.Indexes.Add(idxVm);
            table.Indexs.Add(idxVm);

            table.GetDdl(dbVm).Is(
                "CREATE TABLE TEST (" + Environment.NewLine +
                "  COL1 INTEGER NOT NULL," + Environment.NewLine +
                "  COL2 VARCHAR(100) NOT NULL," + Environment.NewLine +
                "  COL3 TIMESTAMP NOT NULL," + Environment.NewLine +
                "  COL4 BLOB," + Environment.NewLine +
                "  PRIMARY KEY (COL1)" + Environment.NewLine +
                ")");
        }
        public void GetDdlTest_ForignKey1()
        {
            var dbVm = new DbViewModel();
            var table = new TableViewModel("TEST");
            dbVm.Tables.Add(table);

            var col1 = new ColumInfo("COL1", new FieldType(8, null, null, null, null, 4), new ColumConstraintsInfo(ConstraintsKind.Primary), "RDB$1", false, true, "");
            table.Colums.Add(new ColumViewMoodel(col1));
            var col2 = new ColumInfo("COL2", new FieldType(37, null, 100, null, null, 400), new ColumConstraintsInfo(ConstraintsKind.Foreign), "RDB$2", false, true, "");
            table.Colums.Add(new ColumViewMoodel(col2));
            var col3 = new ColumInfo("COL3", new FieldType(35, null, null, null, null, 8), new ColumConstraintsInfo(ConstraintsKind.Foreign), "RDB$3", false, true, "");
            table.Colums.Add(new ColumViewMoodel(col3));

            var idx = new IndexInfo();
            idx.Name = "RDB$PRIMARYKEY1";
            idx.TableName = table.TableName;
            idx.Kind = ConstraintsKind.Primary;
            idx.FieldNames.Add(col1.ColumName);
            var idxVm = new IndexViewModel(idx);

            dbVm.Indexes.Add(idxVm);
            table.Indexs.Add(idxVm);

            var fpIdx1 = new IndexInfo();
            fpIdx1.Name = "RDB$PRIMARYKEY2";
            fpIdx1.TableName = "MASTER";
            fpIdx1.Kind = ConstraintsKind.Primary;
            fpIdx1.FieldNames.Add("M_COL1");
            var fpIdxVm1 = new IndexViewModel(fpIdx1);

            dbVm.Indexes.Add(fpIdxVm1);

            var idx1 = new IndexInfo();
            idx1.Name = "RDB$FOREIGNKEY1";
            idx1.TableName = table.TableName;
            idx1.Kind = ConstraintsKind.Foreign;
            idx1.ForigenKeyName = "RDB$PRIMARYKEY2";
            idx1.FieldNames.Add(col2.ColumName);
            var idxVm1 = new IndexViewModel(idx1);

            dbVm.Indexes.Add(idxVm1);
            table.Indexs.Add(idxVm1);

            var fpIdx2 = new IndexInfo();
            fpIdx2.Name = "RDB$PRIMARYKEY3";
            fpIdx2.TableName = "MASTER";
            fpIdx2.Kind = ConstraintsKind.Primary;
            fpIdx2.FieldNames.Add("M_COL2");
            var fpIdxVm2 = new IndexViewModel(fpIdx2);

            dbVm.Indexes.Add(fpIdxVm2);

            var idx2 = new IndexInfo();
            idx2.Name = "C_FOREIGNKEY";
            idx2.TableName = table.TableName;
            idx2.Kind = ConstraintsKind.Foreign;
            idx2.ForigenKeyName = "RDB$PRIMARYKEY3";
            idx2.DeleteRule = "SET DEFAULT";
            idx2.UpdateRule = "CASCADE";
            idx2.FieldNames.Add(col3.ColumName);
            var idxVm2 = new IndexViewModel(idx2);

            dbVm.Indexes.Add(idxVm2);
            table.Indexs.Add(idxVm2);

            table.GetDdl(dbVm).Is(
            "CREATE TABLE TEST (" + Environment.NewLine +
            "  COL1 INTEGER NOT NULL," + Environment.NewLine +
            "  COL2 VARCHAR(100) NOT NULL," + Environment.NewLine +
            "  COL3 TIMESTAMP NOT NULL," + Environment.NewLine +
            "  PRIMARY KEY (COL1)," + Environment.NewLine +
            "  FOREIGN KEY (COL2) REFERENCES MASTER (M_COL1)," + Environment.NewLine +
            "  CONSTRAINT C_FOREIGNKEY FOREIGN KEY (COL3) REFERENCES MASTER (M_COL2) ON DELETE SET DEFAULT ON UPDATE CASCADE" + Environment.NewLine +
            ")");
        }
        public void GetDdlTest4()
        {
            var dbVm = new DbViewModel();
            var table = new TableViewViewModel("SNOW_LINE", "SELECT CITY, STATE, ALTITUDE FROM CITIES WHERE ALTITUDE > 5000");
            dbVm.Tables.Add(table);

            var col1 = new ColumInfo("CITY", new FieldType(8, null, null, null, null, 4), new ColumConstraintsInfo(ConstraintsKind.Primary), "SARARY", false, true, "");
            table.Colums.Add(new ColumViewMoodel(col1));
            var col2 = new ColumInfo("STATE", new FieldType(37, null, 100, null, null, 400), new ColumConstraintsInfo(ConstraintsKind.Primary), "NAME", false, true, "");
            table.Colums.Add(new ColumViewMoodel(col2));
            var col3 = new ColumInfo("SNOW_ALTITUDE", new FieldType(35, null, null, null, null, 8), new ColumConstraintsInfo(ConstraintsKind.None), "RDB$3", false, true, "");
            table.Colums.Add(new ColumViewMoodel(col3));

            table.GetDdl(dbVm).Is(
            "CREATE VIEW SNOW_LINE (CITY, STATE, SNOW_ALTITUDE) AS" + Environment.NewLine +
            "SELECT CITY, STATE, ALTITUDE FROM CITIES WHERE ALTITUDE > 5000");
        }
        public void GetDdlTest3()
        {
            var dbVm = new DbViewModel();
            var table = new TableViewModel("TEST");
            dbVm.Tables.Add(table);

            var col1 = new ColumInfo("COL1", new FieldType(8, null, null, null, null, 4), new ColumConstraintsInfo(ConstraintsKind.Primary), "SARARY", false, true, "");
            table.Colums.Add(new ColumViewMoodel(col1));
            var col2 = new ColumInfo("COL2", new FieldType(37, null, 100, null, null, 400), new ColumConstraintsInfo(ConstraintsKind.Primary), "NAME", false, true, "");
            table.Colums.Add(new ColumViewMoodel(col2));
            var col3 = new ColumInfo("COL3", new FieldType(35, null, null, null, null, 8), new ColumConstraintsInfo(ConstraintsKind.None), "RDB$3", false, true, "");
            table.Colums.Add(new ColumViewMoodel(col3));
            var col4 = new ColumInfo("COL4", new FieldType(261, null, null, null, null, 8), new ColumConstraintsInfo(ConstraintsKind.None), "RDB$4", true, true, "");
            table.Colums.Add(new ColumViewMoodel(col4));
            var col5 = new ColumInfo("COL5", new FieldType(37, null, 100, null, null, 400), new ColumConstraintsInfo(ConstraintsKind.None), "NAME", true, true, "");
            table.Colums.Add(new ColumViewMoodel(col5));
            var col6 = new ColumInfo("COL6", new FieldType(37, null, 100, null, null, 400), new ColumConstraintsInfo(ConstraintsKind.None), "MEMO", true, true, "DEFAULT 'HOGE'");
            table.Colums.Add(new ColumViewMoodel(col6));
            var col7 = new ColumInfo("COL7", new FieldType(37, null, 100, null, null, 400), new ColumConstraintsInfo(ConstraintsKind.None), "MEMO2", true, false, "DEFAULT 'HOGE2'");
            table.Colums.Add(new ColumViewMoodel(col7));

            var idx = new IndexInfo();
            idx.Name = "COMPLEXKEY";
            idx.TableName = table.TableName;
            idx.Kind = FAManagementStudio.Common.ConstraintsKind.Primary;
            idx.FieldNames.Add(col1.ColumName);
            idx.FieldNames.Add(col2.ColumName);
            var idxVm = new IndexViewModel(idx);

            dbVm.Indexes.Add(idxVm);
            table.Indexs.Add(idxVm);

            table.GetDdl(dbVm).Is(
            "CREATE DOMAIN SARARY AS INTEGER;" + Environment.NewLine +
            "CREATE DOMAIN NAME AS VARCHAR(100);" + Environment.NewLine +
            "CREATE DOMAIN MEMO AS VARCHAR(100) DEFAULT 'HOGE';" + Environment.NewLine +
            "CREATE DOMAIN MEMO2 AS VARCHAR(100) NOT NULL DEFAULT 'HOGE2';" + Environment.NewLine +
            "CREATE TABLE TEST (" + Environment.NewLine +
            "  COL1 SARARY NOT NULL," + Environment.NewLine +
            "  COL2 NAME NOT NULL," + Environment.NewLine +
            "  COL3 TIMESTAMP NOT NULL," + Environment.NewLine +
            "  COL4 BLOB," + Environment.NewLine +
            "  COL5 NAME," + Environment.NewLine +
            "  COL6 MEMO," + Environment.NewLine +
            "  COL7 MEMO2," + Environment.NewLine +
            "  CONSTRAINT COMPLEXKEY PRIMARY KEY (COL1, COL2)" + Environment.NewLine +
            ")");
        }
Esempio n. 17
0
 public ColumViewMoodel(ColumInfo inf)
 {
     _inf = inf;
 }
 public ColumViewMoodel(ColumInfo inf)
 {
     _inf = inf;
 }