2010-01-27 9 views

Répondre

14

System.Guid.

Aucune conversion nécessaire.

+2

Cochez ce lien si vous avez d'autres problèmes de mappage de type de données de paramètre: http://msdn.microsoft.com/en-us/library/ms131092.aspx –

13

System.GUID

Lors de la lecture des colonnes nullables uniqueIdentifier de votre base de données, assurez-vous de vérifier si la valeur est nulle avant de tenter d'attribuer à une instance Guid, comme Guids ne sont pas annulable. Par exemple:

... /// using recordset rs 


// generates exception if rs["my_guid"] is null 
Guid g = (Guid)rs["my_guid"]; 

// returns Guid.Empty {0000000-.....} if db value is null 
Guid g = (Guid)(rs["my_guid"] ?? Guid.Empty); 

etc.

+0

Utilisez simplement Guid? ALIAS. Nullable et vous pouvez attribuer null. –

+0

Cela ne fonctionne pas toujours - c'est-à-dire que vous devrez finir par le convertir en Guid non annulable si vous passez au code qui n'autorise pas les Guids Nullables. –

+0

Regardez-le: DBNull! = Null –

2

Si vous obtenez la valeur d'un SQLDataReader, assurez-vous de le vérifier contre DBNull avant d'essayer de l'utiliser. Parfois, la valeur peut aussi être interprétée comme une chaîne, donc vous devez taper New Guid (rs ["my_guid"]) pour vous assurer que vous avez un guid à utiliser dans votre code.

+0

Vous devez vous connecter pour commenter les autres réponses – jinsungy

+1

"Vous devez vous connecter pour commenter les autres réponses" vous voyez mon nom d'utilisateur et icône, non? Je suis connecté, mais je n'ai pas assez de réputation pour commenter les messages des autres ... – SilverSkin

+0

. Maintenant vous faites. ftfy. – NotMe