Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um DataTable contém uma coleção de DataColumn objetos referenciados pela propriedade Columns da tabela. Essa coleção de colunas, juntamente com quaisquer restrições, define o esquema ou a estrutura da tabela.
Você cria objetos DataColumn em uma tabela usando o construtor DataColumn ou chamando o método Add da propriedade Columns da tabela, que é um DataColumnCollection. O método Add aceita argumentos opcionais ColumnName, DataType e Expression e cria um novo DataColumn como membro da coleção. Ele também aceita um objeto DataColumn existente e o adiciona à coleção e retorna uma referência ao DataColumn adicionado, se solicitado. Como os objetos DataTable não são específicos para nenhuma fonte de dados, os tipos do .NET Framework são usados ao especificar o tipo de dados de um DataColumn.
O exemplo a seguir adiciona quatro colunas a uma 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, observe que as propriedades da coluna CustID são definidas para não permitir valores DBNull e restringir valores como exclusivos. No entanto, se você definir a coluna CustID como a coluna de chave primária da tabela, a propriedade AllowDBNull será automaticamente definida como false e a propriedade Unique será automaticamente definida como true. Para obter mais informações, consulte Definir Chaves Primárias.
Cuidado
Se um nome de coluna não for fornecido para uma coluna, a coluna recebe um nome padrão incremental da ColunaN, começando com "Column1", quando é adicionada ao DataColumnCollection. Recomendamos evitar a convenção de nomenclatura de "ColunaN" ao fornecer um nome de coluna, pois 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 será gerada.
Se você estiver usando XElement como DataType de um DataColumn no DataTable, a serialização XML não funcionará quando você ler dados. Por exemplo, se você escreve um XmlDocument usando o método DataTable.WriteXml
, na serialização para XML há um nó pai adicional no XElement. Para contornar esse problema, use o SqlXml tipo em vez de XElement.
ReadXml
e WriteXml
trabalhe corretamente com SqlXml.