Hi all. I have a problem. In my project I used a timer and a label. Timer interval is 1000 and timer tick event controls a memory adress changed or not changed. I take this value to a label text property. I control in label text changed event that if value 256 or 0. while value is 256 I want only one entry in my database table but it entyr 1 record in my database table for each second. how can ı solve this? Please help me. Thanks for everything.
private void SensorUpdateTimer_Tick(object sender, EventArgs e)
{
if (!m_client.Connected) return;
string[] addresses = mqueryTB.Text.Split(new char[] { ',' });
MemoryStream ms = new MemoryStream();
string cmd = "readplcm " + (addresses.Length * 2).ToString() + " ";
byte[] cmdBuf = Encoding.ASCII.GetBytes(cmd);
ms.Write(cmdBuf, 0, cmdBuf.Length);
foreach (string adr in addresses)
{
UInt16 offset = UInt16.Parse(adr.Trim());
ms.Write(BitConverter.GetBytes(offset), 0, 2);
}
byte[] data = ms.ToArray();
m_state = State.MQuery;
m_client.GetStream().Write(data, 0, data.Length);
}
//////////////////////////////////////
private void resultL_TextChanged(object sender, EventArgs e)
{
DataAccessLayer dal = new DataAccessLayer("connectionString", true, false);
int sonuc=0;
string videoName=axWindowsMediaPlayer1.Ctlcontrols.currentItem.name;
SqlParameter[] prms=new SqlParameter[1];
prms[0] = new SqlParameter("@vnameStart", videoName);
if (resultL.Text=="256")
{
sonuc = dal.Execute("Usp_InsertNewSensorRecord", prms, CommandType.StoredProcedure);
}
else
{
//
}
}