Ir ao conteúdo
  • Cadastre-se

Método IndexSearch Leitor NitGen Fingertech Hamaster DX I


thiagoneves

Posts recomendados

Olá Pessoal! Estou desenvolvendo um programinha em C# usando biometria, um leitor da NitGen FingerTech Hamaster DX I Gostaria de pedir ajuda de vocês.
A minha principal dúvida é em relação o método IndexSearch / NSearch, o material que a Nitgen disponibiliza da uma visão superficial pra que é iniciante, no meu ponto de vista é muito confuso e sem detalhes os materiais, apenas dão uma pincelada na lógica + ou - de cada linguagem.


A Lógica do método IndexSearch eu acho que entendi, inclusive já estou fazendo o cadastro levando para minha base dados em SQL o ID da pessoa e o TEMPLATE FIR no formato TEXTO.
 
Pelo que eu entendi, o leitor tem um banco de dados interno na memória não volátil dele, ou seja mesmo eu desligando o dispositivo ele manterá salvo as informações, correto? No caso quando eu cadastro um template eu tenho que passar para o leitor através do método IndexSearch.AddFIR(szFir, nUserID), os dois parâmetros, o Template no formato TEXTO é o ID da pessoa, quando for fazer uma identificação da pessoa através da digital, o leitor consultara no banco interno dele o FIR no caso a digital e retornará apenas o ID da pessoa, com esse ID eu vou no banco SQL e trago o que eu quiser desse cliente, isso que torna a busca praticamente instantânea diante de muitos cadastros.
 
Não estou conseguindo carregar na memória os dados do banco usando C# e SQL, abaixo o exemplo dado pelo fabricante para C#.
 
No caso toda vez que eu abrir meu programinha eu vou ter que carregar os dados novamente na memória? Penso que não

pois quando gravo um novo template eu add ao mesmo tempo no banco do leitor quanto na minha base de dados sql o ID e o FIR da pessoa.
Abaixo um exemplo que segundo o fabricante é em C#, só que eu não estou conseguindo fazer o método abaixo usando o VisualStudio com o SQL.  A questão da comunicação com o banco está perfeito, a instrução SQL é SELECT szFIR, nUserID FROM tbCliente.

 

int nUserID Long //ID do User.string szFir //Template do User rs = connObj.OpenSchema(ADODB.SchemaEnum.adSchemaTables, Missing.Value, Missing.Value);while(!rs.EOF) {nUserID = rs.Fields["ID"].Value.ToInteger();szFIR = rs.Fields["ID"].Value.ToString(); objIndexSearch.AddFIR(szFir, nUserID); rs.MoveNext();}

Agora um exemplo do programa como os códigos fontes que o fabricante disponibiliza:

NBioAPI.Type.HFIR hNewFIR; //Cria uma nova FIRuint nUserID = 0;// Get User IDtry {  int test = Convert.ToInt32(textUserID.Text, 10);if (test == 0)throw(new Exception());} catch {MessageBox.Show("User ID must be have numeric type and greater than 0.", "Error!", MessageBoxButtons.OK,                                 MessageBoxIcon.Error);return;}nUserID = Convert.ToUInt32(textUserID.Text, 10);// Get FIR datam_NBioAPI.OpenDevice(NBioAPI.Type.DEVICE_ID.AUTO); uint ret = m_NBioAPI.Enroll(out hNewFIR, null); //Extrai a Digital lida e armazena em hNewFIRif (ret != NBioAPI.Error.NONE){DisplayErrorMsg(ret);m_NBioAPI.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO);return;}    m_NBioAPI.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO);// Regist FIR to IndexSearch DBNBioAPI.IndexSearch.FP_INFO[] fpInfo;ret = m_IndexSearch.AddFIR(hNewFIR, nUserID, out fpInfo); //Aqui adiciona no Leitor a digital lida (FIR) mais o ID do cliente.if (ret != NBioAPI.Error.NONE){DisplayErrorMsg(ret);return;}    // Add item to list of SearchDBforeach  (NBioAPI.IndexSearch.FP_INFO sampleInfo in fpInfo){ListViewItem listItem = new ListViewItem();listItem.Text = sampleInfo.ID.ToString();listItem.SubItems.Add(sampleInfo.FingerID.ToString());listItem.SubItems.Add(sampleInfo.SampleNumber.ToString());listSearchDB.Items.Add(listItem);}

Se alguém puder me dar uma luz ficaria muito agradecido.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...