2015-07-01 10 views
2

Я сохранил шаблон dpfp в varbinary (max), теперь я удаляю его из базы данных, конвертируя в байт [], затем дезертируя его, а затем вставляя проверку () метод, но ошибка occcruing Исключение из HRESULT: 0xFFFFFFF8Как проверить печать пальца DPFP из MS SQL в C#

как я получаю данные приводится ниже

SqlConnection cn = new SqlConnection(@"Data Source=Windows\me;Initial Catalog=Enroll;Persist Security Info=True;User ID=sa ; Password=sa123"); 

cn.Open(); 
SqlDataAdapter adp = new SqlDataAdapter("Select varb from employee where employeeid='127'", cn); 
DataTable dt = new DataTable(); 
adp.Fill(dt); 
bytes= ConvertDataSetToByteArray(dt); 

Template = new DPFP.Template(); 
Template.DeSerialize(bytes); 

<b>Verificator.Verify(features, Template, ref result);</b> 
UpdateStatus(result.FARAchieved); 

if (result.Verified) 
    MakeReport("The fingerprint was VERIFIED."); 
else 
    MakeReport("The fingerprint was NOT VERIFIED."); 

это Проверка() не проверяя данные, поступающие из БД>

где я я делаю ошибку? в конверсии? или не получать данные должным образом?

метод

ответ

2

ConvertDataSetToByteArray() должны быть исключены System.Byte в датируемый будет конвертировать, чтобы byte[] по:

foreach (DataRow row in dt.Rows) 
{ 
    bytes = (byte[])row["varb"]; 
} 
0

Проблема в моем случае было хранение в базе данных SQL Server.

Я использовал varbinary (MAX), а отпечаток пальца - двоичный (1632). Я изменил это в базе данных, и он сработал.