从数据库中读取二进制数据,我需要将其转换回数字角色指纹模板。我不熟悉序列化和反序列化,所以我需要一些帮助。我试过的是:
Dim rsBioData As SqlDataReader = SQL.ExecuteReader
Dim byteTemplate As Byte
Dim memStreamTemplate As MemoryStream
If rsBioData.HasRows Then
While rsBioData.Read
byteTemplate = rsBioData("BiometricData")
memStreamTemplate = New MemoryStream(byteTemplate)
Me.Template = DirectCast(template.DeSerialize(memStreamTemplate), DPFP.Template)
End While
End If
rsBioData.Close()
对于kicks,这里是我如何序列化对象以将其放入数据库中的。我假设这一部分可以工作,因为二进制数据显示在SQL server中——只是不能将其读回。
Dim str As New MemoryStream
Enroller.Template.Serialize(str)
Dim serializedTemplate As Byte() = str.ToArray()
SQL.Parameters.AddWithValue("biometricData", serializedTemplate)
谢谢