Assembly : System.Data (dans system.data.dll)
SyntaxePublic Property DataType As Type
Dim instance As DataColumn Dim value As Type value = instance.DataType instance.DataType = value
public Type DataType { get; set; }
public: property Type^ DataType { Type^ get (); void set (Type^ value); }
/** @property */ public Type get_DataType () /** @property */ public void set_DataType (Type value)
public function get DataType () : Type public function set DataType (value : Type)
Valeur de la propriété
Objet Type qui représente le type de données de la colonne.
Exceptions| Type d'exception | Condition |
|---|---|
| La colonne contient déjà des données stockées. ? ou ? AutoIncrement est true, mais sa valeur est un type non pris en charge par AutoIncrement. |
NotesLa définition de la valeur DataType est très importante pour garantir la création et la mise à jour correctes des données dans une source de données.
La propriété DataType prend en charge les types de données .NET Framework de base suivants :
ainsi que le type de tableau suivant :
-
Byte[]
Une exception est générée si vous modifiez cette propriété alors que la colonne a commencé à stocker des données.
Si vous affectez à AutoIncrement la valeur true avant de définir la propriété DataType et si vous essayez d'affecter au type une valeur autre qu'un type integer, une exception est générée.
Remarque |
|---|
| Dans certains cas, une colonne de type de données Byte[] nécessite un traitement spécial puisque, contrairement aux types de données .NET Framework de base, il s'agit d'un type de données référence. Si une colonne de type de données Byte[] est utilisée en tant que PrimaryKey ou en tant que clé Sort ou RowFilter pour un DataView, toute modification à la valeur de colonne doit impliquer l'assignation de la valeur de colonne Byte[] à un objet Byte[] instancié séparément. Cette assignation est requise pour déclencher la mise à jour des index internes utilisés par les opérations de tri, de filtrage et de clé primaire. L'exemple suivant illustre ces propos : |
byte[] columnValue = (byte[])myDataTable.Rows[0][0]; byte[] newValue = (byte[])columnValue.Clone(); newValue[1] = 2; myDataTable.Rows[0][0] = newValue;
Remarque |
|---|
| Bien qu'il soit possible de définir une colonne comme un type de données autre que les types de données .NET Framework de base et Byte[], une telle colonne sera traitée comme un type défini par l'utilisateur et sera sujette aux restrictions d'utilisation suivantes. (Pour plus d'informations sur les types définis par l'utilisateur, consultez Création et utilisation de types définis par l'utilisateur.) |
ExempleL'exemple suivant ajoute des colonnes de différents types de données à DataTable, puis ajoute une ligne à la table.
Public Function MakeDataTable() As DataTable Dim myTable As DataTable Dim myNewRow As DataRow ' Create a new DataTable. myTable = New DataTable("My Table") ' Create DataColumn objects of data types. Dim colString As DataColumn = New DataColumn("StringCol") colString.DataType = System.Type.GetType("System.String") myTable.Columns.Add(colString) Dim colInt32 As DataColumn = New DataColumn("Int32Col") colInt32.DataType = System.Type.GetType("System.Int32") myTable.Columns.Add(colInt32) Dim colBoolean As DataColumn = New DataColumn("BooleanCol") colBoolean.DataType = System.Type.GetType("System.Boolean") myTable.Columns.Add(colBoolean) Dim colTimeSpan As DataColumn = New DataColumn("TimeSpanCol") colTimeSpan.DataType = System.Type.GetType("System.TimeSpan") myTable.Columns.Add(colTimeSpan) Dim colDateTime As DataColumn = New DataColumn("DateTimeCol") colDateTime.DataType = System.Type.GetType("System.DateTime") myTable.Columns.Add(colDateTime) Dim colDecimal As DataColumn = New DataColumn("DecimalCol") colDecimal.DataType = System.Type.GetType("System.Decimal") myTable.Columns.Add(colDecimal) ' Populate one row with values. myNewRow = myTable.NewRow() myNewRow("StringCol") = "Item Name" myNewRow("Int32Col") = 2147483647 myNewRow("BooleanCol") = True myNewRow("TimeSpanCol") = New TimeSpan(10,22,10,15,100) myNewRow("DateTimeCol") = System.DateTime.Today myNewRow("DecimalCol") = 64.0021 myTable.Rows.Add(myNewRow) MakeDataTable = myTable End Function
public DataTable MakeDataTable(){ DataTable myTable; DataRow myNewRow; // Create a new DataTable. myTable = new DataTable("My Table"); // Create DataColumn objects of data types. DataColumn colString = new DataColumn("StringCol"); colString.DataType = System.Type.GetType("System.String"); myTable.Columns.Add(colString); DataColumn colInt32 = new DataColumn("Int32Col"); colInt32.DataType = System.Type.GetType("System.Int32"); myTable.Columns.Add(colInt32); DataColumn colBoolean = new DataColumn("BooleanCol"); colBoolean.DataType = System.Type.GetType("System.Boolean"); myTable.Columns.Add(colBoolean); DataColumn colTimeSpan = new DataColumn("TimeSpanCol"); colTimeSpan.DataType = System.Type.GetType("System.TimeSpan"); myTable.Columns.Add(colTimeSpan); DataColumn colDateTime = new DataColumn("DateTimeCol"); colDateTime.DataType = System.Type.GetType("System.DateTime"); myTable.Columns.Add(colDateTime); DataColumn colDecimal = new DataColumn("DecimalCol"); colDecimal.DataType = System.Type.GetType("System.Decimal"); myTable.Columns.Add(colDecimal); // Populate one row with values. myNewRow = myTable.NewRow(); myNewRow["StringCol"] = "Item Name"; myNewRow["Int32Col"] = 2147483647; myNewRow["BooleanCol"] = true; myNewRow["TimeSpanCol"] = new TimeSpan(10,22,10,15,100); myNewRow["DateTimeCol"] = System.DateTime.Today; myNewRow["DecimalCol"] = 64.0021; myTable.Rows.Add(myNewRow); return myTable; }
Plates-formesWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Informations de version
Remarque
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ