作者xep72345 (gorilla)
看板C_Sharp
标题Re: [问题] 一次性的判断式
时间Wed Nov 5 16:15:32 2014
※ 引述《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();
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.243.189.142
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1414365426.A.1B2.html
1F:→ GoalBased: 在资料库板就跟你说过要用update了.. 10/27 09:07
2F:→ vivi303030: 当你抓到开始时间及结束时间时,update回db!这样不行 10/28 10:07
3F:→ yishin0517: 请善用变数作为比较基准值 10/30 23:08
非常感谢各位帮助,问题顺利解决。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 115.82.117.53
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1415175335.A.A97.html
4F:推 neo5277: stopwatch好像可以前後一次但是不知道能不能格式化 11/05 20:52
5F:推 wheattea: 再写入时间前多加一个旗标 0=写入开始时间 1=写入结束 11/06 08:56
6F:→ wheattea: 时间 写过一次後期标变2 之类的 11/06 08:57