Mình đang làm một Service chạy ngầm trong Windows. Có sử dụng Timer để đếm thời gian, nhưng không hiểu sao Start Service đó rồi nhưng nó không nhận sự kiện Tick() của Timer cả. Đây là code của sự kiện Tick:
Mã:
private void timer1_Tick(object sender, EventArgs e)
{
if (DateTime.Now.ToShortTimeString().Remove(5).Trim() == "11:50")
{
conn.Open();
cmdDel = new SqlCommand("DELETE dmNgayLamViec", conn);
cmdDel.ExecuteNonQuery();
cmdDel.Dispose();
cmd = new SqlCommand("INSERT dmNgayLamViec VALUES(@IDWorkingDay,@Day)", conn);
cmd.Parameters.AddWithValue("@IDWorkingDay", DateTime.Now.AddDays(1).ToShortDateString());
cmd.Parameters.AddWithValue("@Day", DateTime.Now.AddDays(1).ToShortDateString());
cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Close();
this.Stop();
}
}
Sự kiện OnStart()
Mã:
protected override void OnStart(string[] args)
{
timer1.Enabled = true;
timer1.Interval = 1000;
if (DateTime.Now.ToShortTimeString().Remove(5).Trim() == "11:50")
{
conn.Open();
cmdDel = new SqlCommand("DELETE dmNgayLamViec", conn);
cmdDel.ExecuteNonQuery();
cmdDel.Dispose();
cmd = new SqlCommand("INSERT dmNgayLamViec VALUES(@IDWorkingDay,@Day)", conn);
cmd.Parameters.AddWithValue("@IDWorkingDay", DateTime.Now.AddDays(1).ToShortDateString());
cmd.Parameters.AddWithValue("@Day", DateTime.Now.AddDays(1).ToShortDateString());
cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Close();
this.Stop();
}
}
Cám ơn các bạn.
View more random threads:
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...