实例介绍
【实例简介】
在数据表加入opc标签,当OPC变量变化时自动存入数据库中,一变化就存储,无需要代码中设置
【实例截图】
【核心代码】
void group_DataChange(object sender, EventData e)
{
Object obj = e.ChangeValues as Object;
string lableName = string.Empty;//控件名称
string type = string.Empty;//类型 报警?产量?
List<DataChangeObject> DataChangeList = obj as List<DataChangeObject>;
string aa = DateTime.Now.ToString("yyyyMMddhhmmss");
int cc = 0;
//////////////////////
string Localconn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\data_up\\DATA1_勿删.mdb";
OleDbConnection obd_odconn;
obd_odconn = new OleDbConnection(Localconn);
ds = new DataSet();
oda = new OleDbDataAdapter();
ds.Tables.Add("0");
///////////////////////////////////
foreach (DataChangeObject dco in DataChangeList)
{
cc ;
long dd = 0;
// dd= Convert.ToInt32(dco.TagValue);
//if (dco.TagValue == "false") dd = 0;
//if (dco.TagValue == "true") dd = 1;
string nn = dco.TagValue;
//if ((dco.TagValue != "false") && (dco.TagValue != "true"))
dd = Convert.ToInt64(nn);
string mm = aa cc.ToString();
//////////////////////////////
ExcuteScalar_Access(obd_odconn, "INSERT INTO [DATA2]([TAG_NAME],[TAG_VALUE],[CHANGE_TIME]) VALUES('" dco.TagFullName "','" dd "','" DateTime.Now "')");
//sqlHelper.ExecuteNonQuery("INSERT INTO [LcdAndonData].[dbo].[DATA2]([ID],[TAG_NAME],[TAG_VALUE],[CHANGE_TIME]) VALUES(" mm ",'" dco.TagFullName "','" dd "','" DateTime.Now "')");
// SetControlInvoke(1, dco.TagFullName " " dd);
/////////////////////////////////////////
if (dco.TagFullName.Length == 15)
{
SetControlInvoke(1, dco.TagFullName " " dd);
}
if (dco.TagFullName.Length != 15)
{
SetControlInvoke(1, dco.TagFullName " " dd);
}
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
网友评论
我要评论