Leitura de Tags RFID C#
Bom dia galera.
Estou com um problema na minha aplicação. Tenho um aplicativo que em c# que cria um serviço de leitura de tags RFID, o aplicativo funciona legal, ele faz a leitura das tags normalmente, ele por exemplo ler a tag 001 essa tag passou pelo leitor 13:00, dai voltou a passar pelo leitor 13:03, o leitor ler e manda pro banco. E quando uma tag fica por perto ele fica inserindo direto os dados no banco. Preciso fazer com que seu leitor só mande os dados para o banco de 5 em 5 minutos depois que essa tag foi lida.
Desde já agradeço.
segue o código.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
namespace Persistencia.DAO
{
public class DadosDAO
{
#region insert
public void insert(VO.Dados dados, SqlConnection connection, out Base.Erro error)
{
error = new Base.Erro();
string workStation = System.Environment.MachineName.ToString().Trim();
string programa = "MIDDLEWARE";
SqlConnection con = connection;
SqlCommand cmd = con.CreateCommand();
string msg = "";
try
{
con.Open();
string sql = "INSERT INTO TBMW0001(MWR0REDEPC, MWR0REDDTT, MWR0EPCPFX, MWR0IPREDR, MWR0EPCSTS, MWR0USRINC, MWR0PGMINC, MWR0WRKINC, MWR0DTTINC, MWR0USRUPD, MWR0PGMUPD, MWR0WRKUPD, MWR0DTTUPD) VALUES('";
sql += dados.EPC + "', '";
sql += dados.DataLeitura.Year + "/" + dados.DataLeitura.Month + "/" + dados.DataLeitura.Day + " " + dados.DataLeitura.Hour + ":" + dados.DataLeitura.Minute + ":" + dados.DataLeitura.Second + "', '";
sql += dados.Prefixo + "', '";
sql += dados.Ip + "', '";
sql += dados.Status + "', '";
sql += dados.Usuario + "', '";
sql += programa + "', '";
sql += workStation + "', '";
sql += DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + " " + DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second + "', '";
//sql += DateTime.Now.ToShortTimeString().Trim() + "', '";
sql += dados.Usuario + "', '";
sql += programa + "', '";
sql += workStation + "', '";
sql += DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + " " + DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second + "')";
//sql += DateTime.Now.ToShortTimeString().Trim() + "')";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
error.setError(0, msg);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
cmd.Dispose();
con.Close();
}
#endregion
#region update
public void update(VO.Dados dados, SqlConnection connection, out Base.Erro error)
{
error = new Base.Erro();
SqlConnection con = connection;
SqlCommand cmd = con.CreateCommand();
string msg = "";
try
{
con.Open();
string sql = "UPDATE TBMW0001 SET MWR0REDDTT = '";
sql += dados.DataLeitura.Year + "/" + dados.DataLeitura.Month + "/" + dados.DataLeitura.Day + " " + dados.DataLeitura.Hour + ":" + dados.DataLeitura.Minute + ":" + dados.DataLeitura.Second + "', MWR0DTTUPD = '";
sql += dados.DataLeitura.Year + "/" + dados.DataLeitura.Month + "/" + dados.DataLeitura.Day + " " + dados.DataLeitura.Hour + ":" + dados.DataLeitura.Minute + ":" + dados.DataLeitura.Second + "' WHERE MWR0REDEPC = '" + dados.EPC + "'";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
error.setError(0, msg);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
cmd.Dispose();
con.Close();
}
#endregion
#region listEPC
public List<VO.Dados> listByEPC(string epc, SqlConnection connection, out Base.Erro error)
{
error = new Base.Erro();
SqlConnection con = connection;
SqlCommand cmd = con.CreateCommand();
List<VO.Dados> list = new List<VO.Dados>();
string msg = "";
try
{
con.Open();
string sql = "SELECT * FROM TBMW0001 WHERE MWR0EPCPFX = 'A001' AND MWR0REDEPC = '" + epc + "'";
cmd.CommandText = sql;
SqlDataReader data = cmd.ExecuteReader();
while (data.Read())
{
VO.Dados movimentacao = new VO.Dados();
movimentacao.EPC = data["MWR0REDEPC"].ToString().Trim();
list.Add(movimentacao);
}
error.setError(0, msg);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
cmd.Dispose();
con.Close();
return list;
}
#endregion
}
}Discussão (1)
Carregando comentários...