private void registerNewDatabaseToolStripMenuItem_Click(object sender, EventArgs e)
        {
            using (var frm = new RegisterDbForm()
            {
                Text = "Add new Connection"
            })
            {
                if (frm.ShowDialog() == DialogResult.OK)
                {
                    var item = new DbSettingItem
                    {
                        DbFile = frm.DbFile,
                        Key    = frm.Key,
                        Name   = frm.DisplayName,
                        Schema = frm.Schema
                    };

                    using (var con = GetSettingsConnection())
                    {
                        DbSettingItem.Insert(con, item);
                    }

                    Connections.Add(item);
                    AddConnectionNode(item);
                }
            }
        }
        private void AddConnectionNode(DbSettingItem item)
        {
            lock (lockObject)
            {
                if (item.Tables == null)
                {
                    item.ReadObjects();
                }

                var tn = new TreeNode
                {
                    Text             = item.Name,
                    Tag              = item,
                    ImageKey         = "Database_Blue",
                    SelectedImageKey = "Database_Red",
                    ContextMenuStrip = cmsConnection
                };

                var tnTables = new TreeNode
                {
                    Text             = "Tables",
                    Tag              = item,
                    ContextMenuStrip = cmsTables
                };
                item.TnTables = tnTables;

                CreateTableNodes(tnTables, item.Tables);

                var tnViews = new TreeNode
                {
                    Text = "Views",
                    Tag  = item
                };
                item.TnViews = tnViews;

                CreateTableNodes(tnViews, item.Views);

                var tnIndizes = new TreeNode
                {
                    Text = "Indizes",
                    Tag  = item
                };

                CreateTableNodes(tnIndizes, item.Indizes);

                item.TnIndizes = tnIndizes;

                tn.Nodes.Add(tnTables);
                tn.Nodes.Add(tnViews);

                tnIndizes.ContextMenuStrip = cmsIndizes;
                tn.Nodes.Add(tnIndizes);

                tvMain.Nodes.Add(tn);
            }
        }
예제 #3
0
        public static void Delete(SqlDatabaseConnection connection, DbSettingItem item)
        {
            const string sql = "DELETE FROM CONNECTIONS WHERE Id=@Id";

            using (var cmd = new SqlDatabaseCommand(sql, connection))
            {
                cmd.Parameters.Add("@Id", item.Id);
                cmd.ExecuteNonQuery();
            }
        }
예제 #4
0
        private static DbSettingItem FromRow(DataRow row)
        {
            var result = new DbSettingItem
            {
                Id     = Convert.ToString(row["Id"]),
                Key    = Convert.ToString(row["Key"]),
                DbFile = Convert.ToString(row["DbFile"]),
                Name   = Convert.ToString(row["Name"]),
                Schema = Convert.ToString(row["Schema"]),
            };

            return(result);
        }
예제 #5
0
        public static void Update(SqlDatabaseConnection connection, DbSettingItem item)
        {
            const string sql = "UPDATE CONNECTIONS SET \n" +
                               "Name=@Name, DbFile=@DbFile, Key=@Key, Schema=@Schema)\n" +
                               "Where Id=@Id";

            using (var cmd = new SqlDatabaseCommand(sql, connection))
            {
                cmd.Parameters.Add("@Id", item.Id);
                cmd.Parameters.Add("@Name", item.Name);
                cmd.Parameters.Add("@DbFile", item.DbFile);
                cmd.Parameters.Add("@Key", item.Key);
                cmd.Parameters.Add("@Schema", item.Schema);

                cmd.ExecuteNonQuery();
            }
        }
예제 #6
0
        public static void Insert(SqlDatabaseConnection connection, DbSettingItem item)
        {
            const string sql = "INSERT INTO CONNECTIONS(Id, Name, DbFile, Key, Schema)\n" +
                               "VALUES \n" +
                               "(@Id, @Name, @DbFile, @Key, @Schema)";

            using (var cmd = new SqlDatabaseCommand(sql, connection))
            {
                cmd.Parameters.Add("@Id", item.Id);
                cmd.Parameters.Add("@Name", item.Name);
                cmd.Parameters.Add("@DbFile", item.DbFile);
                cmd.Parameters.Add("@Key", item.Key);
                cmd.Parameters.Add("@Schema", item.Schema);

                cmd.ExecuteNonQuery();
            }
        }
        private List <DbSettingItem> GetConnectionList()
        {
            using (var con = GetSettingsConnection())
            {
                var list = DbSettingItem.List(con);
                if (list.Count == 0)
                {
                    var db = new DbSettingItem
                    {
                        DbFile = SettingsFile,
                        Key    = string.Empty,
                        Name   = "Settings",
                        Schema = "dbo"
                    };

                    list.Add(db);
                }

                return(list);
            }
        }
        private void tsiUnregister_Click(object sender, EventArgs e)
        {
            var node = tvMain.SelectedNode;

            if (node == null || node.Tag == null || node.Tag.GetType() != typeof(DbSettingItem))
            {
                return;
            }
            var item = node.Tag as DbSettingItem;

            if (item == null)
            {
                return;
            }

            if (MessageBox.Show("Really unregister this Connection?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                using (var con = GetSettingsConnection())
                {
                    DbSettingItem.Delete(con, item);
                    tvMain.Nodes.Remove(node);
                }
            }
        }