※ 引述《xep72345 (gorilla)》之铭言:
各位前辈你们好,很谢谢你们花时间进来看这篇文章
最近制作一个小的监控警报系统
当
if 变量=1
会插入开始时间
else if 当变量=0
会插入结束时间
但是在设备还没有启动之前,就已经开始记录结束时间,
当设备运转也会连同把运转内的时间记录下来,
没办法当纯只记录启动瞬间的时间,跟结束瞬间的时间。
不知道是否有前辈遇过像这种问题,可否分享经历或指点方向给小弟,谢谢。
private void DisplayText(object sender, EventArgs e)
{
string b = data.Substring(2, 1); ///从设备回应回来的值,撷取出来
if (b == "1") ///当Y0 ON B会等于1
{
timer2.Enabled = true;
label1.Text = "运转中"; ///图示跟LABLE 转换
DateTime time = DateTime.Now; //写入开始时间
string dt = "yyyy-MM-dd hh:mm:ss";
string cn = "Provider = Microsoft.Jet.OLEDB.4.0; " +
"Data Source=C:\\Users\\he-hsin\\desktop\\test\\main.mdb";
OleDbConnection db = new OleDbConnection(cn);
db.Open();
String strSQL = "INSERT INTO start_time (starttime) VALUES ('" +
time.ToString(dt) + "')";
OleDbCommand oleCmd = new OleDbCommand(strSQL, db);
oleCmd.ExecuteNonQuery();
db.Close();
}
else if (b=="0") ///当Y0 OFF B会等于0
{
timer2.Enabled = false;
label1.Text = "未运转";
pictureBox1.Image = imageList1.Images[0]; ///图示跟LABLE 转换
DateTime time = DateTime.Now; //写入结束时间
string dt = "yyyy-MM-dd hh:mm:ss";
string cn = "Provider = Microsoft.Jet.OLEDB.4.0; " +
"Data Source=C:\\Users\\he-hsin\\desktop\\test\\main.mdb";
OleDbConnection db = new OleDbConnection(cn);
db.Open();
String strSQL = "insert into end_time (endtime) VALUES ('" +
time.ToString(dt) + "')";
OleDbCommand oleCmd = new OleDbCommand(strSQL, db);
oleCmd.ExecuteNonQuery();
db.Close();
}
}