Re: [问题] 一次性的判断式

楼主: xep72345 (gorilla)   2014-11-05 16:15:32
※ 引述《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();
}
}
作者: GoalBased (Artificail Intelligence)   2013-10-27 09:07:00
在数据库板就跟你说过要用update了..
作者: vivi303030 (wengogogogo)   2013-10-28 10:07:00
当你抓到开始时间及结束时间时,update回db!这样不行
作者: yishin0517 (回台湾了)   2013-10-30 23:08:00
请善用变量作为比较基准值
作者: neo5277 (I am an agent of chaos)   2014-11-05 20:52:00
stopwatch好像可以前后一次但是不知道能不能格式化
作者: wheattea (麦香红茶)   2014-11-06 08:56:00
再写入时间前多加一个旗标 0=写入开始时间 1=写入结束时间 写过一次后期标变2 之类的

Links booklink

Contact Us: admin [ a t ] ucptt.com