Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/07/2015, 01:45
agami
 
Fecha de Ingreso: agosto-2012
Ubicación: Bilbao
Mensajes: 44
Antigüedad: 12 años, 3 meses
Puntos: 2
Pregunta Problema al convertir de String a Guid

Holaaa!

Les traigo un problemita que tengo a intentar pasar una cadena de caracteres a Guid para cuargarlo en un campo SQL que es UniqueIdentifier.

Tengo una función que me genera códigos alfanuméricos aleatorios y yo los concateno en la llamada:

Código:
    Private Function obtenerPassword(ByVal longitud_Clave As Integer) As String
        Randomize()
        Dim i As Byte
        Dim tipoCaracter As Integer
        Dim j As Integer
        Dim h As Integer
        Dim resultado As String
        Dim Numeros(10) As String
        Dim Mayusculas(25) As String
        Dim Minusculas(25) As String
        Dim generacionPSS() As String
        ReDim generacionPSS(longitud_Clave)
        j = 0
        For i = 48 To 57
            Numeros(j) = Chr(i)
            j = j + 1
        Next i
        j = 0
        For i = 65 To 90
            Mayusculas(j) = Chr(i)
            j = j + 1
        Next i
        j = 0
        For i = 97 To 122
            Minusculas(j) = Chr(i)
            j = j + 1
        Next i
        For h = 0 To longitud_Clave - 1
            'aleatorio para saber si concateno numero, mayuscula o minuscula
            tipoCaracter = CInt(Int((3 * Rnd())))
            Select Case tipoCaracter
                'numero
                Case 0
                    generacionPSS(h) = Numeros(CInt(Int((UBound(Numeros) * Rnd()))))
                    'minuscula
                Case 1
                    generacionPSS(h) = Minusculas(CInt(Int((UBound(Minusculas) * Rnd()))))
                    'mayuscula
                Case 2
                    generacionPSS(h) = Mayusculas(CInt(Int((UBound(Mayusculas) * Rnd()))))
            End Select

        Next h
        resultado = ""
        'concateno resultado para devolver solo un string y asi olvidarse de los vectores
        For j = 0 To longitud_Clave - 1
            resultado = resultado & generacionPSS(j)
        Next j
        obtenerPassword = resultado
    End Function
Esa es la función que generar las cadenas aleatorias, luego las llamo en la creación de una variable String:

Código:
Dim ClaveId As String = obtenerPassword(8) & "-" & obtenerPassword(4) & "-" & obtenerPassword(4) & "-" & obtenerPassword(4) & "-" & obtenerPassword(12)
Y para finalizar lo convierto a Guid y lo añado a la tabla:

Código:
Dim ClaveGuid As System.Guid = New System.Guid(ClaveId)
El problema es que en ejecución me salta un error que Guid solo puede tener valores Hexadecimales, y solo tiene valores Hexadecimales ya que los guiones son necesarios en un tipo Guid.

Espero puedan ayudarme, me estoy volviendo loco.

Gracias por adelantado
__________________
Bienvenidos a una nueva era.