问你的厂商咨询,一般都会提供demo的

解决方案 »

  1.   

    把这个方法axZKFPEngX1.VerFinger(FRegTemplate(object类型,原指纹), e.aTemplate(object类型,新指纹, false, ref RegChanged);写在 private void axZKFPEngX1_OnCapture(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvent e)这个方法里面方法的参数,你的文档已经说的很清楚了,数据库怎么存的也是有的
      

  2.   

    public object sTemp;
    在这个方法里面
    private void axZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e)
    登记指纹,指纹为sTemp
    代码如下        /// <summary>
            /// 指纹登记过程
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void axZKFPEngX1_OnEnroll(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnEnrollEvent e)
            {
                string Temp = string.Empty;
                if (e.actionResult)
                {
                    this.axZKFPEngX1.AddRegTemplateToFPCacheDB(fpcHandle, 1, e.aTemplate);
                    Temp = this.axZKFPEngX1.EncodeTemplate1(e.aTemplate);
                    this.txtFingerStr.Text = Temp;
                    sTemp = this.axZKFPEngX1.DecodeTemplate1(Temp);
                    lblFingerInfo.Text = "指纹登记成功!";
                }
                else
                {
                    lblFingerInfo.Text = "指纹登记失败!";
                }
            }
    数据库里用二进制存储指纹码,添加到数据库用参数化    string strSql = "insert into Hospital_Employees(EmpFingerTmp) values(@EmpFingerTmp)";
        SqlCommand cmd = new SqlCommand(strSql, conn);
        cmd.Parameters.Add("@EmpFingerTmp", SqlDbType.Binary);
        cmd.Parameters["@EmpFingerTmp"].Value = sTemp;
        conn.Open();
        cmd.ExecuteNonQuery();
        conn.Close();
    至于读出来对比
      private void axZKFPEngX1_OnCapture(object sender, AxZKFPEngXControl.IZKFPEngXEvents_OnCaptureEvent e)
            {
                string sTemp;
                Boolean lb_success = false;
                DataTable dt = new DataTable();
                sTemp = this.axZKFPEngX1.GetTemplateAsString();
                ytemp = this.axZKFPEngX1.DecodeTemplate1(sTemp);//记录新指纹
                SqlConnection conn = new SqlConnection(ConStr);       
                string strSql = string.Format("select EmpFingerTmp from Hospital_Employees where EmpFingerTmp is not null");
                SqlCommand cmd = new SqlCommand(strSql, conn);
                conn.Open();
                SqlDataAdapter sda = new SqlDataAdapter();
                sda.SelectCommand = cmd;
                sda.Fill(dt);
                foreach (DataRow dr in dt.Rows)
                {
                    regtemp = (object)dr["EmpFingerTmp"];//取得旧指纹
                  
                    //对比指纹
                    if (this.axZKFPEngX1.VerFinger(ref regtemp, ytemp, false, ref lb_success))
                    {
                       //你的处理
                    }
                    else
                    {
                        lblFingerInfo.Text = "指纹识别失败,不能进入系统!";
                        continue;
                    }
                }
                conn.Close();
            }
      

  3.   

    谢谢问题解决了,不过他本身提供了二维码对比的方法axZKFPEngX1.VerFingerFromStr(ref zw, axZKFPEngX1.GetTemplateAsString(), false, ref RegChanged);
      

  4.   

    请问一下“axZKFPEngX1”是什么?
      

  5.   

    ole
    每天回帖即可获得10分可用分