2016-04-18 7 views
1

können Sie mir helfen? Ich möchte einen Fingerabdruck auf mysql speichern, das ist der Code, den ich verwende.Wie Serialisieren-Deserialisieren des Fingerabdrucks von DigitalPersona u.ere.u 4500 in C# und gespeichert in einer Datenbank

private void enrollment_OnEnroll(DPCtlUruNet.EnrollmentControl enrollmentControl, DataResult<Fmd> result, int fingerPosition) 
    { 
     if (enrollmentControl.Reader != null) 
     { 
      ShowMessage("OnEnroll: " + enrollmentControl.Reader.Description.Name + ", finger " + fingerPosition); 
     } 
     else 
     { 
      ShowMessage("OnEnroll: lector no conectado, finger " + fingerPosition); 
     } 

     if (result != null && result.Data != null) 
     { 
      //valor de la huella serializada 

      string valores = Fmd.SerializeXml(result.Data); 
      MySqlConnection conexion = new MySqlConnection(_sender.cadena); 
      String sql = String.Format("insert into cliente (clave_cuenta, huella) values('{0}','{1}')", textBox1.Text, valores); 
      MySqlCommand comando = new MySqlCommand(sql, conexion);   
      try { 
       conexion.Open(); 
       comando.ExecuteNonQuery(); 
       conexion.Close(); 
       MessageBox.Show("La huella se guardo satisfactoriamente","Almacenada",buttons:MessageBoxButtons.OK); 
      } catch (Exception ex) { 
       MessageBox.Show(ex.Message); 
       throw; 
      } 
      conexion.Close(); 
      _sender.Fmds.Add(fingerPosition, result.Data);     

     } 

     btnCancel.Enabled = false; 

     // _sender.btnApruebaCompra.Enabled = true; 
    } 

dies in MySQL gespeichert

<?xml version="1.0" encoding="UTF-8"?><Fid><Bytes>Rk1SACAyMAAA8gAz/v8AAAFlAYgAxADEAQAAAFYjQIEAZmBkQIEARl5kQMoBKE1jgM8BA0RhgMwAg0tcgNYAZKZcQIIBFB5bgOYA00FaQM8BQFVZQKAAtV9YgLUBEVFYgGUApXNWQOQBIkRUQL0A00RUgPoAckxTQLQAeKVTgG4AcwRTQQMAoKFSQMsA5ptQgMsA65tQQFAAk2xQQREAq0dQgHkA0RhOQEYAoxdCgI8A7Hg/gOEBP00+QFUA4B48gEoAwnQ6QJkA3aA2gJwBAXU2AQMA7UE1AJ0BE2szAQgA7EEuAJwBDqwtAQ4AY6MqAAA=</Bytes><Format>1769473</Format><Version>1.0.0</Version></Fid> 

Es FMDs soll, aber ich kann es nicht in seine ursprüngliche Form zurück.

als Rückkehr zu seiner normalen Form?

+1

Zeichenfolge HuellaRecuperadabd = datos.Tables ["cliente"]. Zeilen [0] ["huella"]. ToString(); Fmd.DeserializeXml (HuallaRecuperadabd); –

Antwort

1
string x = Fmd.SerializeXml(fmd); 

speichern x in der Datenbank als Zeichenfolge.

Abrufen der Schnur und passieren in

Fmd val = Fmd.DeserializeXml (abgerufene Zeichenkette aus der Datenbank);

Verwenden Sie val, um mit Ihrer aktuellen Eingabe zu vergleichen.

Verwandte Themen