InTouch SQL Access Manager问题急!!! 点击:1334 | 回复:0



adai

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 13回
  • 年度积分:0
  • 历史总积分:172
  • 注册:2001年8月03日
发表于:2002-01-04 09:57:00
楼主
您好,我是InTouch 的用户,现在有一个应用上的问题,急需您的解答: 问题: 使用SQL Access Manager 实现工程中的Group控制。 具体想法如下: 按下窗体中的一个按钮,实现对一组离散Tag的设置,需要设置的Tag 名子保存在数据库中,需通过多个表的关联查询获取。按下按钮时调用一个Quick Functions 函数,此函数连接数据库,关联Bindlist.使查询到的Tag名字与一个Memory Message Tag 绑定起来,使Message Tag 获得需要控制的Tag的名字。定义一个indirect 离散的Tag,将它与Message Tag联系起来(indirectTag.name=messageTag.value), 这样就可通过indirectTag设置要控制的io 离散Tag了。 Bindlist: GroupTag(memory messagetag) Tagname(表中一字段) QuickFunction: DIM iCnt AS INTEGER; DIM SQLStatement1 AS MESSAGE; ResultCode = 0; NumRowsAll = 0; ResultCode = SQLConnect(ConnectID,"DSN=NTTNEWDB;UID=sa;DB=komabatest;"); SQLStatement1 = "SELECT T_List_Tag.TagName AS TagName FROM T_List_GroupList INNER JOIN T_List_GroupDetail ON " ; ResultCode = SQLSetStatement(ConnectID,SQLStatement1); SQLStatement1="T_List_GroupList.GROUPID = T_List_GroupDetail.GROUPID INNER JOIN T_List_Tag ON T_List_GroupDetail.TAGID = T_List_Tag.TagID"; ResultCode=SQLAppendStatement(ConnectID, SQLStatement1); ResultCode = SQLPrepareStatement( ConnectID, SQLHandle ); ResultCode =SQLExecute(ConnectID,"Groupcontrol",SQLHandle); NumRowsAll = SQLNumRows(ConnectID); FOR iCnt = 1 TO NumRowsAll SQLGetRecord(ConnectID,iCnt); //indirectTag.name=messageTag.value //indirectTag.value=1(or0) NEXT; SQLEnd(ConnectID); SQLDisconnect(ConnectID); 结果:提示,[Microsoft][ODBC Driver Manager]Program type out of range. 是不是不支持多个表的关联的查询呢? 已经做过只和一个表的字段的绑定,结果是成功的。 SQLStatement1 = "SELECT TagName FROM T_List_Tag" ; ResultCode = SQLSetStatement(ConnectID,SQLStatement1); 请您给予答复,很急! 如有问题,回复。 Thank u so much!!


热门招聘
相关主题

官方公众号

智造工程师