最近要用到从mysql中取数据到力控的中间变量,最先考虑到用#ADOModule.ExcuteSQL();执行sql语句的方法
如下:
1 #ADOModule.ExcuteSQL("SELECT up_limit,down_limit 2 FROM alarm_setting 3 WHERE can_ID = 1 4 INTO @"+RealToStr(up_limit_1,4,2)+",@"+RealToStr(down_limit_1,4,2)+" 5 ")
但是......行不通,取出来的数没有到up_limit_1和down_limit_1里面去。估计如果mysql 中有这两个变量的话,他会去mysql 内部的变量里面去吧,待做实验。。。
接下来看不执行sql语句,力控是怎么做的:
1,在ADO 组件里建立数据表邦定alarm_setting
2,建立对应的数据连结
3,写脚本
#ADOModule.SetData("alarm_setting"); ///////////// 1#罐 //////////////////////////////////////////// #ADOModule.OpenRecordSet("select up_limit from alarm_setting"); //打开up_limit数据集 #ADOModule.MoveFirst(); //将数据集游标移动到以一位 up_limit_1 = #ADOModule.GetValueByIndexDouble(0);//按照字段索引位置获取浮点型数据 #ADOModule.CloseRecordset();//关闭数据集 #ADOModule.OpenRecordSet("select down_limit from alarm_setting"); #ADOModule.MoveFirst(); down_limit_1 = #ADOModule.GetValueByIndexDouble(0); #ADOModule.CloseRecordset(); //////////////// 2#罐 ///////////////////////////////////////// #ADOModule.OpenRecordSet("select up_limit from alarm_setting"); #ADOModule.Move(1); // 将数据集游标移动到第二位 up_limit_2 = #ADOModule.GetValueByIndexDouble(0); #ADOModule.CloseRecordset(); #ADOModule.OpenRecordSet("select down_limit from alarm_setting"); #ADOModule.Move(1); down_limit_2 = #ADOModule.GetValueByIndexDouble(0); #ADOModule.CloseRecordset();
执行脚本
成功!