FAManagementStudio.Models.DatabaseInfo.GetTables C# (CSharp) Method

GetTables() public method

public GetTables ( FirebirdSql.Data.FirebirdClient.FbConnection con ) : IEnumerable
con FirebirdSql.Data.FirebirdClient.FbConnection
return IEnumerable
        public IEnumerable<TableInfo> GetTables(FbConnection con)
        {
            using (var command = con.CreateCommand())
            {
                command.CommandText = @"select trim(rdb$relation_name) AS Name from rdb$relations where rdb$relation_type = 0 and rdb$system_flag = 0 order by rdb$relation_name asc";
                var reader = command.ExecuteReader();
                while (reader.Read())
                {
                    yield return new TableInfo((string)reader["Name"]);
                }
            }
        }

Usage Example

コード例 #1
0
        public async Task LoadDatabase(DatabaseInfo dbInf)
        {
            _dbInfo = dbInf;
            var table = new List<ITableViewModel>();
            await Task.Run(() =>
             {
                 using (var con = new FbConnection(_dbInfo.ConnectionString))
                 {
                     con.Open();
                     foreach (var item in _dbInfo.GetTables(con))
                     {
                         var vm = new TableViewModel(item.TableName);
                         foreach (var colums in item.GetColums(con))
                         {
                             vm.Colums.Add(new ColumViewMoodel(colums));
                         }
                         foreach (var trigger in item.GetTrigger(con))
                         {
                             vm.Triggers.Add(new TriggerViewModel(trigger));
                         }
                         foreach (var idx in item.GetIndex(con))
                         {
                             vm.Indexs.Add(new IndexViewModel(idx));
                         }
                         table.Add(vm);
                     }

                     foreach (var item in _dbInfo.GetViews(con))
                     {
                         var vm = new TableViewViewModel(item.ViewName, item.Source);
                         foreach (var colums in item.GetColums(con))
                         {
                             vm.Colums.Add(new ColumViewMoodel(colums));
                         }
                         table.Add(vm);
                     }
                 }
             });
            Tables = table;
            AdditionalInfo = new AdditionalDbInfoControl(this);
            RaisePropertyChanged(nameof(Tables));
            RaisePropertyChanged(nameof(AdditionalInfo));
        }