2010-01-05 4 views
4

Comment convertir un DataColumn de GUID défini en tant que type string en un DataColumn de GUID dont le type est Guid? Une colonne dans les données source a le mauvais type et je ne peux pas le changer là.Convertir string en guid dans DataColumn

Répondre

1

Vous pouvez ajouter à ce womp répondre à l'option suivante:

  1. Une fois que vous obtenez le tableau complet des données que vous pouvez ajouter une nouvelle DataColumn aux colonnes de la table de données de cette façon:

    DataColumn dc = new DataColumn("GUIDColumnName",typeof(Guid),"StringColumnName"); 
    DataTableObj.Columns.Add(dc); 
    

ce ne sera pas avoir un impact sur les performances si votre volume de données est énorme.

3

Une fois que le datatable a été rempli avec des données, vous ne pouvez pas modifier le type de colonne. Il y a quelques approches que vous pouvez prendre:

  1. Si vous utilisez un DataAdapter pour remplir le tableau, vous pouvez utiliser DataAdapter.FillSchema() pour obtenir la structure de la première table. Ensuite, vous pouvez modifier le type de colonne, puis le remplir avec des données.

  2. Prenez la table initiale et clonez-la, modifiez le type de colonne sur la nouvelle table, puis utilisez DataTable.ImportRow() pour importer chaque ligne de l'ancienne table.

  3. Créez une colonne, copiez les valeurs de l'ancienne colonne dans la nouvelle colonne et supprimez l'ancienne colonne.

Questions connexes