Beispiel #1
0
        private void tvSchemas_AfterExpand(object sender, TreeViewEventArgs e)
        {
            e.Node.Nodes.Clear();
            var serverInfo          = e.Node.Tag as ServerInfo;
            ISchemaRetriever server = SchemaRetrieverFactory.GetSchemaRetriever(serverInfo);

            foreach (var schema in server.GetSchemas(serverInfo))
            {
                e.Node.Nodes.Add(new TreeNode(schema, 1, 1));
            }
        }
Beispiel #2
0
 private void lvTables_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (tvSchemas.SelectedNode != null && tvSchemas.SelectedNode.Parent != null && lvTables.SelectedItems.Count == 1)
     {
         lvColumns.Items.Clear();
         var serverInfo          = tvSchemas.SelectedNode.Parent.Tag as ServerInfo;
         var schema              = tvSchemas.SelectedNode.Text;
         ISchemaRetriever server = SchemaRetrieverFactory.GetSchemaRetriever(serverInfo);
         if (lvTables.SelectedItems.Count == 1)
         {
             var tableInfo = lvTables.SelectedItems[0].Tag as TableInfo;
             tableInfo.Columns = server.GetColumns(serverInfo, tableInfo, schema);
             foreach (var columnInfo in tableInfo.Columns)
             {
                 var item = lvColumns.Items.Add(columnInfo.ColumnName);
                 item.SubItems.Add(columnInfo.DataType.Name);
                 item.SubItems.Add(columnInfo.Size.ToString());
                 //if(columnInfo.Precision.HasValue)
                 item.SubItems.Add(columnInfo.Precision.ToString());
                 //if(columnInfo.Scale.HasValue)
                 item.SubItems.Add(columnInfo.Scale.ToString());
                 item.Tag = columnInfo;
                 if (columnInfo.IsKey)
                 {
                     if (tableInfo.Keys.Any(k => k.ColumnName.Equals(columnInfo.ColumnName, StringComparison.InvariantCultureIgnoreCase) && k.KeyType == KeyConstraintTypes.Primary))
                     {
                         var constraint = tableInfo.Keys.First(k => k.ColumnName.Equals(columnInfo.ColumnName, StringComparison.InvariantCultureIgnoreCase) && k.KeyType == KeyConstraintTypes.Primary);
                         item.SubItems.Add(constraint.ConstraintName);
                     }
                     item.ImageIndex = 3;
                 }
                 else if (columnInfo.IsForeignKey)
                 {
                     item.ImageIndex = 4;
                     if (tableInfo.Keys.Any(k => k.ColumnName.Equals(columnInfo.ColumnName, StringComparison.InvariantCultureIgnoreCase) && k.KeyType == KeyConstraintTypes.Foreign))
                     {
                         var constraint = tableInfo.Keys.First(k => k.ColumnName.Equals(columnInfo.ColumnName, StringComparison.InvariantCultureIgnoreCase) && k.KeyType == KeyConstraintTypes.Foreign);
                         item.SubItems.Add(constraint.ConstraintName);
                     }
                 }
                 else if (columnInfo.IsUnique)
                 {
                     item.ImageIndex = 5;
                     if (tableInfo.Keys.Any(k => k.ColumnName.Equals(columnInfo.ColumnName, StringComparison.InvariantCultureIgnoreCase) && k.KeyType == KeyConstraintTypes.Unique))
                     {
                         var constraint = tableInfo.Keys.First(k => k.ColumnName.Equals(columnInfo.ColumnName, StringComparison.InvariantCultureIgnoreCase) && k.KeyType == KeyConstraintTypes.Unique);
                         item.SubItems.Add(constraint.ConstraintName);
                     }
                 }
             }
         }
     }
 }
Beispiel #3
0
 private void tvSchemas_AfterSelect(object sender, TreeViewEventArgs e)
 {
     if (e.Node.Parent != null)
     {
         lvTables.Items.Clear();
         lvColumns.Items.Clear();
         var serverInfo          = e.Node.Parent.Tag as ServerInfo;
         ISchemaRetriever server = SchemaRetrieverFactory.GetSchemaRetriever(serverInfo);
         foreach (var table in server.GetTables(serverInfo, e.Node.Text))
         {
             var item = lvTables.Items.Add(table.TableName, String.Format("{0}.{1}", table.Owner, table.TableName), 2);
             item.Tag = table;
         }
     }
 }
Beispiel #4
0
        private void GetTableColumns()
        {
            ISchemaRetriever schema = SchemaRetrieverFactory.GetSchemaRetriever(_server);

            _table.Columns = schema.GetColumns(_server, _table);
        }
Beispiel #5
0
        private void LoadActiveSqlServers()
        {
            ISchemaRetriever server = SchemaRetrieverFactory.GetSchemaRetriever(ServerTypes.SqlServer);

            LoadServers(server.GetServers().ToList());
        }