Pular para o conteúdo principal

Data Tables – Parte III

Continuando com os posts sobre DataTables chegou a  hora de inspecionar quais os campos fazem parte da estrutura da tabela.

Isto pode ser útil caso tenhamos a necessidade de mostrar os nomes dos campos e os tipos de dados ou ainda, verificar o tipo de dado do campo antes de incluir um valor.

Uma tabela possui uma coleção de objetos do tipo DataColumn. Assim, para descobrirmos as informações sobre sua estrutura, basta inspecionarmos as principais propriedades de cada ítem da coleção.

A tabela abaixo demonstra algumas das principais propriedades de DataColumn:

Propriedade Descrição
AutoIncrement Define se a coluna é um campo inteiro para numeração automática. Geralmente este tipo de campo é usado para definir chaves primárias de tabelas sendo o seu preenchimento feito automaticamente pelo banco.
AutoIncrementSeed Indica qual é o número inicial para campos de numeração automática.
AutoIncrementStep Define qual o incremento numérico para o campo de auto numeração.
Caption Usado para armazenar o texto que pode ser usado como cabeçalho das colunas
ColumnName Nome da coluna.
DataType Retorna um System.Type indicando qual o tipo de dados correspondente ao campo no framework.
DefaultValue Mostra qual o valor padrão a ser armazenado quando um novo registro é craido. Este valor deve ser compatível com o tipo de dado da coluna.
Expression Armazena uma expressão que pode ser usada para definir campos calculados.
MaxLength Configura o tamanho máximo do dado a ser gravado, como por exemplo no caso de strings, o comprimento máximo do texto a ser gravado.
ReadOnly Indica se o campo é somente leitura.
Table Retorna um objeto DataTable com o qual o campo está vinculado.

Estes são apenas os principais. Consulte a documentação do framework para uma lista mais completa.

Considere a tabela de exemplo do primeiro post.

Para listar os nomes dos campos e os tipos de dados, você percorre cada objeto DataColumn da coleção Columns da tabela e mostra na tela com o seguinte código:

    5 // Mostra a estrutura da tabela "Instrumentos"

    6 Console.WriteLine( "Estrutura da tabela {0}", TabelaDeExemplo.TableName );

    7 Console.WriteLine( "Nome".PadRight(30) + "Tipo" );

    8 foreach( DataColumn col in TabelaDeExemplo.Columns )

    9 {

   10     Console.WriteLine( "{0}\t{1}",

   11         col.ColumnName.ToString().PadRight(30),

   12         col.DataType  );       

   13 }

O resultado deve ser mais ou menos parecido com o seguinte:

Estrutura da tabela instrumentos
Nome Tipo
IdInstrumento System.Int32
Tipo System.String
Marca System.String
Modelo System.String
AnoDeFabricacao System.String



Por enquanto é isso. Aguarde os próximos posts.

Postagens mais visitadas deste blog

Como gerar scripts para exportar dados no SQL Server 2008

Uma das tarefas mais comuns no trabalho com desenvolvimento de software que consome dados em bancos como o SQL Server 2008 é a necessidade de em algum momento precisarmos exportar os dados de um banco para outro. Quer seja para realizar testes ou fazer simulações existem várias maneiras de se fazer isto. Neste post eu quero demonstrar um recurso do SQL Server Management Studio (SSMS) que permite realizar esta tarefa rapidamente.Para os que estão acostumados a usar esta ferramenta, já devem saber que é possível gerar scripts para o schema e também transferir os dados entre dois bancos distintos. Isto pode ser feito se o SSMS puder conectar-se com as duas bases, de origem e destino. No exemplo que vou dar, o objetivo é gerar o script apenas para uma tabela do banco de dados de exemplo da Microsoft – Northwind.1. Iniciando o assistenteO assistente deve ser iniciado clicando com o botão direito do mouse sobre o banco onde se encontra a tabela a qual iremos gerar o script. Deve se clicar n…

Pivot dinâmico com SQL Server

Passo a passo para usar pivoteamento dinâmicoOs bancos de dados bem configurados e definidos armazenam os dados de forma a otimizar o acesso, evitando duplicidade e garantindo a integridade. Porém, em muitas situações isto pode dificultar a apresentação de forma adequada sendo necessário preparar os dados usando vários recursos entre os quais, fazer o pivoteamento.Se você não precisou ainda usar ou não sabe o que é consiste em transformar cada linha de uma determinada coluna em colunas de uma nova consulta.Assim, considere uma tabela que armazene as notas bimestrais de um boletim. Uma possível estrutura para esta tabela seria algo assim:ColunaTipo de dado/TamanhoDisciplinanvarchar(50)BimestreIntNotanumeric(5,2)Uma consulta select nesta tabela com alguns dados traria um resultado parecido com o abaixo:Porém pode ser que para apresentar estes dados em um relatório seja necessário transformar cada bimestre em uma coluna e agrupar as notas nestas colunas para que fique dessa forma:Isto po…

Desabilitando o auto commit no SSMS (SQL Server Management Studio)

(Ou, como prevenir desastres e manter o emprego a salvo…)Neste post vai uma pequena mas tremendamente útil dica para desabilitar o auto commit da aplicação SQL Server Management Studio (SSMS) que é usada por dez entre dez usuários do banco de dados SQL Server para fazer consultas, alterações e executar scripts no banco de dados. (Preferências à parte, realmente muita gente usa),A primeira e mais importante notícia é que, diferentemente da ferramenta do Oracle, este editor de scripts do SQL Server vem com o recurso de auto commit ativado por padrão, assim, qualquer instrução DML (alteração dos dados com update, insert e delete) ou DDL (alteração no banco como create, drop, alter, etc.) será imediatamente enviada ao banco e persistida.Isto pode ser altamente crítico pois se estiver executando as instruções em um banco de dados de produção não haverá muitas formas de desfazer se é que haverá.Inicialmente, pode se evitar muitos acidades executando estas instruções dentro de um bloco BEGIN…