2010-01-27 18 views

Respuesta

14

System.Guid.

No se necesitan conversiones.

+2

Compruebe este enlace si tiene algún otro problema de asignación de tipos de datos de parámetros: http://msdn.microsoft.com/en-us/library/ms131092.aspx –

13

System.Guid

Al leer columnas anulables UNIQUEIDENTIFIER de su base de datos, asegúrese de comprobar si el valor es nulo antes de intentar asignar a una instancia de Guid, como GUID no son anulables. Por ejemplo:

... /// 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

¿Solo usa Guid? A.K.A. Nullable y puede asignar null. –

+0

Eso no siempre funciona, es decir, tendrás que terminar convirtiéndolo en un Guid que no admite nulos en algún momento si pasas al código que no permite Guids con nulos. –

+0

Míralo: DBNull! = Null –

2

Si usted está recibiendo el valor de una SQLDataReader, asegúrese de comprobar que en contra DBNull antes de intentar usarlo. A veces, el valor puede interpretarse también como una cadena, por lo que debe escribir New Guid (rs ["my_guid"]) para asegurarse de tener un guid para usar en su código.

+0

iniciar sesión para comentar otras respuestas – jinsungy

+1

"iniciar sesión para comentar otras respuestas" ¿ves mi nombre de usuario e ícono, no? He iniciado sesión, pero no tengo la reputación suficiente para comentar las publicaciones de los demás ... – SilverSkin

+0

. Ahora sí. ftfy. – NotMe

Cuestiones relacionadas