예제 #1
0
        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();
        }