Как я могу сопоставить отпечаток пальца ящура с базой данных mysql
Здравствуйте, извините за мой плохой английский. Я студент индонезийского SMK, который я хочу сделать системой управления для своей школы, я использовал U Are U от Digital Persona для системы посещаемости студентов, и я новичок на VB.Net interfacing with Digital Persona U Are U 4500 проблема в том, что я не знаю, в чем ошибка, и я не знаю, как десериализовать и сериализовать FMD в базу данных MySQL. Мой тип данных базы данных-LONGBLOB. Я использовал этот код для сериализации
cmd = New MySqlCommand("insert into finger_data(finger) values(@jari)", conn) With cmd .Parameters.AddWithValue("@jari", Fmd.SerializeXml(resultConversion.Data)) .ExecuteNonQuery() End With
Когда я сохраняю сериализацию ящура в базе данных, это работа. И я не знаю, как Десериализоваться.
Что я уже пробовал:
Я попробовал этот код для десериализации ящура из базы данных. И я получаю это сообщение об ошибке "необработанное исключение типа' System.IndexOutOfRangeException ' произошло в System.Data.dll
Дополнительная информация: в позиции 1 нет строки.
Это Мой Код Для Десериализации. Я пытался в течение долгих дней для этого... Так что любой может мне помочь, пожалуйста... Спасибо и раньше...
Public Sub OnCaptured(ByVal captureResult As CaptureResult) If Not _sender.CheckCaptureResult(captureResult) Then Return End If SendMessage(Action.SendMessage, "The Fingerprint Was Captured") Dim resultConversion As DataResult(Of Fmd) = FeatureExtraction.CreateFmdFromFid(captureResult.Data, Constants.Formats.Fmd.ANSI) If captureResult.ResultCode <> Constants.ResultCode.DP_SUCCESS Then _sender.Reset = True Throw New Exception(captureResult.ResultCode.ToString()) End If If count = 0 Then firstFinger = resultConversion.Data count += 1 SendMessage(Action.SendMessage, "Now place the same or a different finger on the reader.") ElseIf count = 1 Then secondFinger = resultConversion.Data count += 1 SendMessage(Action.SendMessage, "Now place the same or a different finger on the reader.") ElseIf count = 2 Then AnyFinger = resultConversion.Data Dim fmds As Fmd() = New Fmd(1) {} fmds(0) = firstFinger fmds(1) = secondFinger Dim thresholdScore As Integer = PROBABILITY_ONE * 1 / 10000 Dim ds As New DataSet adt = New MySqlDataAdapter("select * from finger_data where finger", conn) adt.Fill(ds, "finger_data") Dim A As Integer = ds.Tables("finger_data").Rows(1).Item(0) //I got Error on this Line Dim Y As Byte() = DirectCast(ds.Tables("finger_data").Rows(0).Item(2), Byte()) Dim value As String = System.Text.Encoding.Unicode.GetString(Y) Dim X = Fmd.DeserializeXml(value) Dim identifyResult As IdentifyResult = Comparison.Identify(X, 0, fmds, thresholdScore, 2) If identifyResult.ResultCode <> Constants.ResultCode.DP_SUCCESS Then _sender.Reset = True Throw New Exception(identifyResult.ResultCode.ToString()) End If SendMessage(Action.SendMessage, "Result Of The Identification " + identifyResult.Indexes.Length.ToString()) SendMessage(Action.SendMessage, "Place Index") count = 0 End If End Sub