public void Init(string providerName, string connectionString) { if (string.IsNullOrEmpty(providerName) || string.IsNullOrEmpty(connectionString) || providerName == ProviderName || connectionString == ConnectionString) { return; } var provider = SchemaProvider.GetProvider(Utility.GetRealProviderName(providerName), connectionString); var tableNames = provider.GetTableNames(); tvItems.BeginUpdate(); tvItems.Nodes.Clear(); var tableRootNode = new TreeNode("Tables", 0, 0); tvItems.Nodes.Add(tableRootNode); tableRootNode.Checked = true; foreach (string tableName in tableNames) { var tableNode = new TreeNode(tableName, 1, 1); tableRootNode.Nodes.Add(tableNode); tableNode.Checked = true; } var viewRootNode = new TreeNode("Views", 0, 0); tvItems.Nodes.Add(viewRootNode); viewRootNode.Checked = true; var spRootNode = new TreeNode("Stored procedures", 0, 0); tvItems.Nodes.Add(spRootNode); spRootNode.Checked = true; tvItems.ExpandAll(); tvItems.EndUpdate(); }