That is my first question here I am currently working on an project Biometric attendance system and I am stuck at the place the fingerprints are saved in the database and when I retrieve fingerprints for verification and it retrieves only first record not others rows of datatable please help me in this regard.
This is my code:
protected override void Process(DPFP.Sample Sample)
{
con.Open();
SqlCommand cmd = new SqlCommand("SELECT *FROM EmpRegistration", con);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
byte[] _img_ = (byte[])dr["Finger"];
MemoryStream ms = new MemoryStream(_img_);
DPFP.Template Template = new DPFP.Template();
Template.DeSerialize(ms);
DPFP.Verification.Verification Verificator = new DPFP.Verification.Verification();
con.Close();
base.Process(Sample);
// Process the sample and create a feature set for the enrollment purpose.
DPFP.FeatureSet features = ExtractFeatures(Sample, DPFP.Processing.DataPurpose.Verification);
// Check quality of the sample and start verification if it's good
// TODO: move to a separate task
if (features != null)
{
// Compare the feature set with our template
DPFP.Verification.Verification.Result result = new DPFP.Verification.Verification.Result();
Verificator.Verify(features, Template, ref result);
UpdateStatus(result.FARAchieved);
if (result.Verified)
{
MakeReport("Verified");
try
{
con.Open();
SqlDataReader myReader = null;
SqlCommand myCommand = new SqlCommand("select * from EmpRegistration", con);
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
txtname.Text = myReader["EmpName"].ToString();
txtcnic.Text = myReader["CNIC"].ToString();
}
con.Close();
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
break;
}
else if (result.Verified == false)
{
MakeReport("Employee not registered");
}
}
}
}
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…