Esempio n. 1
0
        private void btnGenerate_Click(object sender, EventArgs e)
        {
            results = new List <RefferencedTable>();
            String ValidationResult = CheckInput();

            if (!String.IsNullOrWhiteSpace(ValidationResult))
            {
                MessageBox.Show(ValidationResult, "Validation Errors", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                PleaseWaitForm l = new PleaseWaitForm("Please Wait...");
                l.StartPosition = FormStartPosition.CenterParent;
                l.Show();
                l.Refresh();

                RefferencedTable input = new RefferencedTable();
                input.TableName  = cbTables.SelectedItem.ToString();
                input.ColumnName = cbColumns.SelectedItem.ToString();
                input.SchemaName = cbDbSchemas.SelectedItem.ToString();
                GetTables(input);

                results.Add(input);

                l.Close();
                l.Dispose();

                GenerateTextForConstraintsDisable();
                GenerateTextForTablesUpdate();
                GenerateTextForConstraintsEnable();
            }
        }
Esempio n. 2
0
        private List <RefferencedTable> GetRefferencedTables(String TableName, String ColumnName)
        {
            List <RefferencedTable> result = new List <RefferencedTable>();
            DbConnection            conn   = new SqlConnection(m_DBConnStr);

            conn.Open();
            DbCommand cmd = conn.CreateCommand();

            cmd.CommandText = "sp_GetAllReferencedTables";
            cmd.CommandType = System.Data.CommandType.StoredProcedure;

            DbParameter par = cmd.CreateParameter();

            par.ParameterName = "@TableName";
            par.Value         = TableName;
            par.DbType        = System.Data.DbType.String;
            cmd.Parameters.Add(par);

            par = cmd.CreateParameter();
            par.ParameterName = "@ColumnName";
            par.Value         = ColumnName;
            par.DbType        = System.Data.DbType.String;
            cmd.Parameters.Add(par);

            DbDataReader     rdr = null;
            RefferencedTable tmp;

            try
            {
                rdr = cmd.ExecuteReader();
                while (rdr.Read())
                {
                    tmp = new RefferencedTable();
                    tmp.ParentTableName = (string)rdr["ParentTableName"];
                    tmp.TableName       = (string)rdr["TableName"];
                    tmp.ColumnName      = (string)rdr["ColName"];
                    tmp.SchemaName      = (string)rdr["SchemaName"];
                    result.Add(tmp);
                }
            }
            catch (Exception ex)
            {
                WriteLog("GetRefferencedTables::", ex);
            }
            finally
            {
                if (rdr != null)
                {
                    rdr.Close();
                }
                conn.Close();
            }

            return(result);
        }
Esempio n. 3
0
        private void GetTables(RefferencedTable Table)
        {
            if (!results.Exists(t => t.TableName == Table.TableName && t.ParentTableName == Table.ParentTableName && t.ColumnName == Table.ColumnName && t.IsProcessed == true))
            {
                Table.IsProcessed = true;

                if (!String.IsNullOrEmpty(Table.ParentTableName)) //Da ne ja dodava pocetnata tabela dva pati
                {
                    results.Add(Table);
                }

                List <RefferencedTable> tables = GetRefferencedTables(Table.TableName, Table.ColumnName);

                foreach (RefferencedTable table in tables)
                {
                    if (!results.Exists(t => t.TableName == Table.TableName && t.ParentTableName == Table.ParentTableName && t.ColumnName == Table.ColumnName && t.IsProcessed == false))
                    {
                        GetTables(table);
                    }
                }
            }
        }