Visual Basic.NET - AYUDA PARA UN CODIGO

 
Vista:

AYUDA PARA UN CODIGO

Publicado por EDISBERTO (2 intervenciones) el 01/11/2006 01:54:10
SALUDOS,

ESTAMOS TRABAJANDO UNA APLICACION QUE ALMACENA LA HUELLA DIGITAL DE UNA PERSONA CAPTUARANDOLA A TRAVES DE UN LECTOR DE HUELLA U ARE U 4000 DE LA SERIE FINGER PRINTER EN UNA BASE DE DATOS DE SQL SERVER 2000, MEDIANTE UN CAMPO EN OCTAL QUE GENERA EL SDK ANTES MENCIONADO DE UNA LONGITUD DE 3010 CARACTERES, MOTIVO POR EL CUAL UTILIZAMOS UNA COLUMNA DE TIPO NVARCHAR. LA INTERFAZ UTILIZADA ENTRE LA PLATAFORMA .NET Y EL LECTOR ES EL SDK PLATINUM.
TENEMOS UN PEQUEÑO PROBLEMA, ES QUE AL MOMENTO DE CONSULTAR POR VISUAL BASIC.NET ESA HUELLA ALMACENADA NO TIENE CORRESPONDENCIA CON LA HUELLA LEIDA, AL PARECER NO COINCIDEN LOS TIPOS DE DATOS, YA QUE AL REALIZARLE UNA EJECUCION CONTROLADA AL CODIGO MEDIANTE PUNTOS DE INTERRUPCION NOS DAMOS CUENTA QUE LAS VARIABLES SI TIENEN ALMACENADA LA INFORMACION, SIN EMBARGO, EL BLOQUE IF CORRESPONDIENTE SIEMPRE REALIZA LA SALIDA POR EL LADO NEGATIVO COMO SI LA HUELLA CAPTUARADA NO EXISTIERA EN LA BASE DE DATOS AUN SI ESTA POSITIVAMENTE EXISTE EN LA BASE DE DATOS.

AQUI LES MOSTRAMOS EL CODIGO EN VISUAL BASIC.NET QUE HACE LA SENTENCIA INSERT EN LA BASE DE DATOS DE LA RESPECTIVA HUELLA DIGITAL:

strSQL = "INSERT APRENDICES VALUES (" & _
validarnulo(ident) & "," & _
validarnulo(txtnom.Text.ToUpper) & "," & _
validarnulo(txtprimera.Text.ToUpper) & "," & _
validarnulo(txtsegundoa.Text.ToUpper) & "," & _
validarnulo(ident) & "," & _
CType(cmbtipoid.Items(cmbtipoid.SelectedIndex), ListItem).ID & "," & _
CType(cmbtipoid.Items(cmbtipoid.SelectedIndex), ListItem).ID & "," & _
validarnulo(vHuella.cadena) & ")"
cnSQL = New SqlConnection(ConnectionString)
cnSQL.Open()

cmSQL = New SqlCommand(strSQL, cnSQL)
cmSQL.ExecuteNonQuery()

cnSQL.Close()
cmSQL.Dispose()
cnSQL.Dispose()

Catch Exp As SqlException
MsgBox(Exp.Message, MsgBoxStyle.Critical, "SQL Error")
Catch Exp As Exception
MsgBox(Exp.Message, MsgBoxStyle.Critical, "General Error")
End Try
End Sub


EL SIGUIENTE ES EL CODIGO QUE COMPARA LA HUELLA CAPTURADA CON LA QUE SE ALMACENO EN LA BASE DE DATOS:

Private Sub btnaceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnaceptar.Click
sensor.Inicializar("c:\licencia.slm")
buscar()
sensor.ActivarSensor()
MsgBox("coloque el dado")
End Sub

If txtident.Text = "" Then
MsgBox("Este campo no puede estar vacio," & Chr(13) & "Favor, digite identificacion", MsgBoxStyle.Information, "ATENCION")
txtident.Focus()
Else
Try

strSQL = "SELECT NOMBRE, HUELLA FROM APRENDICES WHERE ID_APRENDIZ =" & txtident.Text
cnSQL = New SqlConnection(ConnectionString)
cnSQL.Open()
cmSQL = New SqlCommand(strSQL, cnSQL)
drSQL = cmSQL.ExecuteReader()

If drSQL.Read Then
If e.huella.cadena = drSQL.Item("HUELLA") Then '.ToString()
MsgBox("bien")
Else
MsgBox("mal")
End If
's = drSQL.Item("NOMBRE")
Else
MsgBox("La identificacion y/o clave digitada no fue encontrada" & Chr(13) & "Verifique que se halla ingresado correctamente", MsgBoxStyle.Information, "ATENCION")
txtident.Text = ""
txtident.Focus()
End If
drSQL.Close()
cnSQL.Close()
cnSQL.Dispose()

Catch F As SqlException
MsgBox(F.Message, MsgBoxStyle.Critical, "SQL Error")

Catch F As Exception
MsgBox(F.Message, MsgBoxStyle.Critical, "General Error")
End Try
End If
'vhuella = New BIOMETRIA.HuellaDigital
' MsgBox(s)
' vhuella.cadena = R
'vhuella.cadena = R
Dim str As String

Res = e.huella.CompararHuella(R.cadena)
If Res = True Then

salidas()
txtident.Text = ""
txtident.Focus()
Else
MsgBox("Acceso denegado", MsgBoxStyle.Critical, "Atencion")

Y ESTE ES EL CODIGO QUE CAPTURA LA HUELLA AL MOMENTO QUE ESTA SE COLOCA EN EL SENSOR:

Private Sub sensor_HuellaCapturada(ByVal sender As Object, ByVal e As AxBIOMETRIA.__BIOSENSOR_HuellaCapturadaEvent) Handles sensor.HuellaCapturada
Dim Res As Boolean
'Res = vHuella.CompararHuella(e.huella.Plantilla)
Res = e.huella.CompararHuella(vHuella.Plantilla)
If Res Then MessageBox.Show("PUEDE SEGUIR A CLASES") Else MessageBox.Show("Acceso denegado")
End Sub

SOMOS ESTUDIANTES DE ANALISIS Y PROGRAMACION DE COMPUTADORES DEL SENA REGIONAL MAGDALENA EN SANTA MARTA - COLOMBIA.... NECESITAMOS CON URGENCIA QUE ALGUIEN NOS AYUDE A RESOLVER ESTE PROBLEMA.
ESPERAMOS SU PRONTA RESPUESTA.
GRACIAS!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:AYUDA PARA UN CODIGO

Publicado por thessen (298 intervenciones) el 02/11/2006 18:30:23
No se si tendrá algo que ver con tu problema pero... yo he tenido algunas veces problemas con esos tipos de dispositivos porque utilizan unicode. Asi, al almacenar la cadena en tu Base de Datos, si no lo almacenas como unicode al comparar los valores nunca serán los mismos. No se si me explico.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA PARA UN CODIGO

Publicado por EDISBERTO (3 intervenciones) el 08/11/2006 01:18:55
SALUDOS thessen, COMO ESTAS?

QUIERO PREGUNTARTE COMO HACES ENTONCES PARA GUARDAR LA INFORMACION DE LA HUELLA DIGITAL COMO TIPO UNICODE?
NOSOTROS INTENTAMOS GUARDARLA TAL COMO SE CAPTURA PERO NOS DISPARA UNA EXCEPCION DEL SISTEMA COMO SE VE EN EL ARCHIVO ADJUNTO QUE TE ENVIE A TU CUENTA DE CORREO DE HOTMAIL, AL MOMENTO DE EJECUTAR LA SENTENCIA INSERT QUE LA ALMACENA EN LA TABLA DE LA BASE DE DATOS SI NO SE LE ANTEPONE A LA VARIABLE QUE CONTIENE LA HUELLA DIGITAL CAPTURADA LA FUNCION QUE LA CONVIERTE A STRING.

ESTE ES EL ESTRACTO DE CODIGO QUE HACE EL INSERT, DONDE validarnulo ES LA FUNCION QUE CONVIERTE LOS DATOS CAPTURADOS A STRING

strSQL = "INSERT APRENDICES VALUES (" & _
validarnulo(ident) & "," & _
validarnulo(txtnom.Text.ToUpper) & "," & _
validarnulo(txtprimera.Text.ToUpper) & "," & _
validarnulo(txtsegundoa.Text.ToUpper) & "," & _
validarnulo(ident) & "," & _
CType (cmbtipoid.Items(cmbtipoid.SelectedIndex), ListItem).ID & "," & _
CType(cmbtipoid.Items(cmbtipoid.SelectedIndex), ListItem).ID & "," & _
* validarnulo(vHuella.cadena) & ")"

LA LINEA QUE TIENE EL * (ASTERISCO) ES LA QUE ALMACENA LA HUELLA DIGITAL CAPTURADA EN LA TABLA DE LA BASE DE DATOS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar