生物识别模板无法保存在MySQL数据库中,因为它为空

时间:2014-04-03 11:36:01

标签: mysql vb.net fingerprint biometrics

我搜索并尝试了一些代码来保存扫描仪中注册的指纹,但我的错误是" id和FP不能为空"。我知道我使用的代码有问题。我正在使用Digital Persona的OTW SDK。 VB.net作为prog.language和MySql作为我的数据库。谢谢你帮我解决了这个问题。

Private Sub btnsave_Click(sender As Object, e As EventArgs) Handles btnsave.Click
    Dim conn As MySqlConnection
    conn = New MySqlConnection
    conn.ConnectionString = ("Server = localhost; User Id= root; Password =1234;Database = dbpayroll")
    Dim cmd As MySqlCommand

    Try
        conn.Open()

        For Each template As DPFP.Template In Data.Templates

            If Not template Is Nothing Then

                cmd = New MySqlCommand("INSERT INTO employeefp " +
                              "SET id=@id, " +
                              "FP=@FP " +
                              " ", conn)

                cmd.Parameters.Add(New MySqlParameter("@id", Me.TextBox1.Text))
                cmd.Parameters.Add(New MySqlParameter("@FP", template.Bytes))

                cmd.ExecuteNonQuery()

                MessageBox.Show("Template Successfuly Saved.", "Finger Enrolled")
            End If
        Next

        conn.Close()
    Catch myerror As MySqlException
        MessageBox.Show(myerror.Message)
    End Try
End Sub

1 个答案:

答案 0 :(得分:0)

似乎您的@id,@FP参数中没有存储任何内容,您的存储表中的列被声明为NOT NULL

尝试在插入之前回显它们,这样可以确保传递给它们一些数据!