Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A DataTable contém uma coleção de DataColumn objetos referenciados pela Columns propriedade da tabela. Esta coleção de colunas, juntamente com quaisquer restrições, define o esquema ou a estrutura da tabela.
Os objetos DataColumn são criados dentro de uma tabela usando o DataColumn construtor, ou chamando o Add método da Columns propriedade da tabela, que é um DataColumnCollection. O Add método aceita o ColumnName opcional, DataType e Expression argumentos e cria um novo DataColumn como membro da coleção. Também aceita um objeto existente DataColumn e adiciona-o à coleção, devolvendo uma referência ao objeto adicionado DataColumn se solicitado. Como DataTable os objetos não são específicos de nenhuma fonte de dados, os tipos do .NET Framework são usados ao especificar o tipo de dado de uma DataColumn.
O exemplo a seguir adiciona quatro colunas a um DataTable.
Dim workTable As DataTable = New DataTable("Customers")
Dim workCol As DataColumn = workTable.Columns.Add( _
"CustID", Type.GetType("System.Int32"))
workCol.AllowDBNull = false
workCol.Unique = true
workTable.Columns.Add("CustLName", Type.GetType("System.String"))
workTable.Columns.Add("CustFName", Type.GetType("System.String"))
workTable.Columns.Add("Purchases", Type.GetType("System.Double"))
DataTable workTable = new DataTable("Customers");
DataColumn workCol = workTable.Columns.Add("CustID", typeof(Int32));
workCol.AllowDBNull = false;
workCol.Unique = true;
workTable.Columns.Add("CustLName", typeof(String));
workTable.Columns.Add("CustFName", typeof(String));
workTable.Columns.Add("Purchases", typeof(Double));
No exemplo, note-se que as propriedades da CustID coluna estão definidas para não permitir DBNull valores e para restringir valores a serem únicos. No entanto, se definir a CustID coluna como a coluna principal da tabela, a AllowDBNull propriedade será automaticamente definida como false e a Unique propriedade será automaticamente definida como verdadeira. Para obter mais informações, consulte Definindo chaves primárias.
Atenção
Se um nome de coluna não for fornecido para uma coluna, a coluna receberá um nome padrão incremental de ColunaN, começando com "Column1", quando for adicionada ao DataColumnCollection. Recomendamos que você evite a convenção de nomenclatura de "ColunaN" ao fornecer um nome de coluna, porque o nome fornecido pode entrar em conflito com um nome de coluna padrão existente no DataColumnCollection. Se o nome fornecido já existir, uma exceção é gerada.
Se estiver a usar XElement como o DataType do DataColumn no DataTable, a serialização XML não funcionará quando ler os dados. Por exemplo, se escrever um XmlDocument usando o método DataTable.WriteXml, ao serializar para XML, haverá um nó pai adicional no XElement. Para contornar esse problema, use o SqlXml tipo em vez de XElement.
ReadXml e WriteXml trabalham corretamente com SqlXml.