如何序列化C#中DigitalPersona u.ere.u 4500的指纹并将其保存到数据库中
你能帮我吗? 我想在mysql上保存一个指纹,这是我使用的代码如何序列化C#中DigitalPersona u.ere.u 4500的指纹并将其保存到数据库中,c#,mysql,fingerprint,C#,Mysql,Fingerprint,你能帮我吗? 我想在mysql上保存一个指纹,这是我使用的代码 private void enrollment_OnEnroll(DPCtlUruNet.EnrollmentControl enrollmentControl, DataResult<Fmd> result, int fingerPosition) { if (enrollmentControl.Reader != null) { ShowMessage(
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;
}
private void registration\u onerroll(DPCtlUruNet.registrmentcontrol-registrmentcontrol,DataResult-result,int-fingerPosition)
{
if(enrollmentControl.Reader!=null)
{
ShowMessage(“OneRoll:+enrollmentControl.Reader.Description.Name+”,finger“+fingerPosition);
}
其他的
{
ShowMessage(“OneRoll:lector no Conconnectado,finger”+fingerPosition);
}
if(result!=null&&result.Data!=null)
{
//瓦洛德拉胡埃拉酒店
字符串valores=Fmd.SerializeXml(result.Data);
MySqlConnection conexion=新的MySqlConnection(_sender.cadena);
stringsql=String.Format(“插入到客户端(clave_cuenta,huella)值(“{0}”,“{1}”)”,textBox1.Text,valores);
MySqlCommand-comando=新的MySqlCommand(sql,conexion);
试一试{
conexion.Open();
comando.ExecuteNonQuery();
conexion.Close();
MessageBox.Show(“La huella se guardo Satisfactoriemente”,“Almacenada”,按钮:MessageBox按钮。OK);
}捕获(例外情况除外){
MessageBox.Show(例如Message);
投掷;
}
conexion.Close();
_sender.Fmds.Add(手指位置、结果、数据);
}
btnCancel.Enabled=false;
//_sender.btnApruebaCompra.Enabled=true;
}
这是存储在mysql中的
<?xml version="1.0" encoding="UTF-8"?><Fid><Bytes>Rk1SACAyMAAA8gAz/v8AAAFlAYgAxADEAQAAAFYjQIEAZmBkQIEARl5kQMoBKE1jgM8BA0RhgMwAg0tcgNYAZKZcQIIBFB5bgOYA00FaQM8BQFVZQKAAtV9YgLUBEVFYgGUApXNWQOQBIkRUQL0A00RUgPoAckxTQLQAeKVTgG4AcwRTQQMAoKFSQMsA5ptQgMsA65tQQFAAk2xQQREAq0dQgHkA0RhOQEYAoxdCgI8A7Hg/gOEBP00+QFUA4B48gEoAwnQ6QJkA3aA2gJwBAXU2AQMA7UE1AJ0BE2szAQgA7EEuAJwBDqwtAQ4AY6MqAAA=</Bytes><Format>1769473</Format><Version>1.0.0</Version></Fid>
Rk1SACAyMAAA8gAz/V8AAAFLAYGAXADEAQAAFYJQIEAZMBKQIEARL5KQMOBKE1JGM8BA0RHGMWAG0TCGNYAZKQIB5GOYA00FAQM8BQVZQQQKAATV9YGLUBEVFYGGUAPXNWQQQQQQQQLQLQL0A000ARG4ACWRTQMAOKFSMSA5TQGMSA65TQFAKQFAKQQFAK2QQQQQQQA0QQQQQQQQEAQQQ0D0DQQQQQQQQG0DQQQQQQG0DQGQGQQQQQQG0DQQQQG0DQGQQQQQQQQQQG0DQQQQQQQQQQQQQQQQG0DQQQ
它应该是FMD,但我不能把它恢复到原来的形式
恢复正常形状
string x = Fmd.SerializeXml(fmd);
将x作为字符串存储在数据库中
检索字符串并传入
Fmd val=Fmd.DeserializeXml
(从数据库检索到的字符串)
使用val与当前输入进行比较。在我的例子中,使用
Fmd.DeserializeXml()
给了我这个错误
'\' is an unexpected token. The expected token is '"' or '''. Line 1, position 15
因此,我分别使用以下方法进行序列化和反序列化
Fid.SerialiseXml(CaptureResult.data);
Fid.DeserializeXml(xml string retrieved from db);
字符串huella=datos.Tables[“cliente”].Rows[0][“huella”].ToString();反序列化xml(hudabd);