public string GenerateCreateForeignKeysScript(CreateForeignKey CreateForeignKeyStatement)
        {
            string TmpScript = "";

            TmpScript += "alter table " + CreateForeignKeyStatement.ForeignKey.TableName + Environment.NewLine;
            TmpScript += "  add constraint \"" + CreateForeignKeyStatement.ForeignKey.ForeignKeyName + "\" foreign key (" + Environment.NewLine;
            foreach (ForeignKeyColumn fkcol in CreateForeignKeyStatement.ForeignKey.Columns)
            {
                TmpScript += "    " + fkcol.Column;
                if (CreateForeignKeyStatement.ForeignKey.Columns.IndexOf(fkcol) != CreateForeignKeyStatement.ForeignKey.Columns.Count - 1)
                {
                    TmpScript += "," + Environment.NewLine;
                }
                else
                {
                    TmpScript += Environment.NewLine + "  )" + Environment.NewLine;
                }
            }
            TmpScript += "  references " + CreateForeignKeyStatement.ForeignKey.RefTableName + " (" + Environment.NewLine;
            foreach (ForeignKeyColumn fkcol in CreateForeignKeyStatement.ForeignKey.Columns)
            {
                TmpScript += "    " + fkcol.RefColumn;
                if (CreateForeignKeyStatement.ForeignKey.Columns.IndexOf(fkcol) != CreateForeignKeyStatement.ForeignKey.Columns.Count - 1)
                {
                    TmpScript += "," + Environment.NewLine;
                }
                else
                {
                    TmpScript += Environment.NewLine + "  ) " + PegarUpdateDeleteCascade(CreateForeignKeyStatement.ForeignKey) + Environment.NewLine + Environment.NewLine;
                }
            }

            return(TmpScript);
        }
Exemplo n.º 2
0
        public CreateForeignKey GenerateCreateForeignKeyStatement(ForeignKey fk)
        {
            CreateForeignKey cfk = new CreateForeignKey();

            cfk.ForeignKey = fk;
            return(cfk);
        }
Exemplo n.º 3
0
        private async void addForeignKeyToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var node = this.treeViewDataConecction.SelectedNode;

            if (node == null)
            {
                return;
            }
            var nodeInfo = (NodeInfo)node.Tag;

            if (nodeInfo == null)
            {
                return;
            }
            if (nodeInfo.Type == NodeType.Table)
            {
                this.CreateForeignKey = new CreateForeignKey(this.controller.datab, node.Text, await this.controller.GetSQliteConecction());
                this.CreateForeignKey.ShowDialog();
            }
        }