I am using digital persona fingerprint reader which is U.are.U 5100, c# programming language and oracle database. The problem i faces was it was stated FMD created successfully during enrollment, but this only will be saved temporarily. Can i know what solution will be suggested to the code in order to allow it to save to the database the fingerprint.

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using DPUruNet;

namespace UareUSampleCSharp
{
    public partial class Enrollment : Form
    {
        /// <summary>
        /// Holds the main form with many functions common to all of SDK  
        ///   actions.
        /// </summary>
        public Form_Main _sender;

        List<Fmd> preenrollmentFmds;
        int count;

        public Enrollment()
        {
            InitializeComponent();
        }

        /// <summary>
        /// Initialize the form.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Enrollment_Load(object sender, System.EventArgs e)
        {
            txtEnroll.Text = string.Empty;
            preenrollmentFmds = new List<Fmd>();
            count = 0;

            SendMessage(Action.SendMessage, "Place a finger on the reader.");

            if (!_sender.OpenReader())
            {
               this.Close();
            }

        if (!_sender.StartCaptureAsync(this.OnCaptured))
        {
            this.Close();
        }
    }

    /// <summary>
    /// Handler for when a fingerprint is captured.
    /// </summary>
    /// <param name="captureResult">contains info and data on the fingerprint  
         capture</param>
    private void OnCaptured(CaptureResult captureResult)
    {
        try
        {
            // Check capture quality and throw an error if bad.
            if (!_sender.CheckCaptureResult(captureResult)) return;

            count++;

            DataResult<Fmd> resultConversion =  
            FeatureExtraction.CreateFmdFromFid(captureResult.Data, 
                                               Constants.Formats.Fmd.ANSI);

            SendMessage(Action.SendMessage, "A finger was captured.   
                        \r\nCount:  " + (count));

            if (resultConversion.ResultCode !=  
                Constants.ResultCode.DP_SUCCESS)
            {
                _sender.Reset = true;
                throw new Exception(resultConversion.ResultCode.ToString());
            }

            preenrollmentFmds.Add(resultConversion.Data);

            if (count >= 4)
            {
                DataResult<Fmd> resultEnrollment =  
                DPUruNet.Enrollment.CreateEnrollmentFmd(Constants.Formats.
                                                        Fmd.ANSI,  
                                                        preenrollmentFmds);

                if (resultEnrollment.ResultCode == 
                    Constants.ResultCode.DP_SUCCESS)
                {
                    SendMessage(Action.SendMessage, "An enrollment FMD was 
                                successfully created.");
                    SendMessage(Action.SendMessage, "Place a finger on the 
                                reader.");
                    preenrollmentFmds.Clear();
                    count = 0;
                    return;
                }
                else if (resultEnrollment.ResultCode == 
                         Constants.ResultCode.DP_ENROLLMENT_INVALID_SET)
                {
                    SendMessage(Action.SendMessage, "Enrollment was 
                    unsuccessful.  Please try again.");
                    SendMessage(Action.SendMessage, "Place a finger on the  
                    reader.");
                    preenrollmentFmds.Clear();
                    count = 0;
                    return;
                }
            }

            SendMessage(Action.SendMessage, "Now place the same finger on the            
            reader.");
        }
        catch (Exception ex)
        {
               // Send error message, then close form
                SendMessage(Action.SendMessage, "Error:  " + ex.Message);                
            }  
        }

         /// <summary>
        /// Close window.
        /// </summary>
        private void btnBack_Click(System.Object sender, System.EventArgs e)
        {
            this.Close();
        }

        /// <summary>
        /// Close window.
        /// </summary>
        private void Enrollment_Closed(object sender, System.EventArgs e)
        {
            _sender.CancelCaptureAndCloseReader(this.OnCaptured);
        }

        #region SendMessage
        private enum Action
        {
            SendMessage
        }

        private delegate void SendMessageCallback(Action action, string  
                                                  payload);
        private void SendMessage(Action action, string payload)
        {
            try
            {
                if (this.txtEnroll.InvokeRequired)
                {
                    SendMessageCallback d = new                  
                    SendMessageCallback(SendMessage);
                    this.Invoke(d, new object[] { action, payload });
                }
                else
                {   
                   switch (action)
                   {
                        case Action.SendMessage:
                           txtEnroll.Text += payload + "\r\n\r\n";
                           txtEnroll.SelectionStart = txtEnroll.TextLength;
                           txtEnroll.ScrollToCaret();
                           break;
                   }
               }
            }
            catch (Exception)
           {
           }
        }
        #endregion
    }
}

Recommended Answers

All 2 Replies

thanks for the reply, but that it saves as an XML, iwould like in strings or bytes isntead..

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.