在Wincc全局脚本程序中定义一个函数Function1(strSQL),执行查询操作并返回数据集Recordset

小弟我在Wincc全局脚本程序中定义了一个函数Function1(strSQL),通过传递过来的SQL语句执行查询操作并返回数据集Recordset,现在要在别的按钮动作里调用这个函数,并将函数运行结果Recordset返回,以便对返回结果进行处理.
    我的代码如下
    Function ReadrecordDB(strSQL) 

Dim objConnection

Dim objCommand

Dim objRecordset

Dim strConnectionString

strConnectionString = ".........................(此处省略了)"

Set objConnection = CreateObject("ADODB.Connection")

objConnection.ConnectionString = strConnectionString

objConnection.Open

Set objRecordset = CreateObject("ADODB.Recordset")

Set objCommand = CreateObject("ADODB.Command")

objCommand.ActiveConnection = objConnection

objCommand.CommandText = strSQL

Set objRecordset = objCommand.Execute

Set objCommand = Nothing

objConnection.Close

Set objRecordset = Nothing

Set objConnection = Nothing

ReadrecordDB = objRecordset.clone()

End Function

其他程序调用
 ......
 Set Count = CreateObject("ADODB.Recordset")
 Count = ReadrecordDB(strSQL)
 Value1 = Count.Fields(0).value
 Value2 = Count.Fields(1).value
 ......
 ......

但是运行调试的时候提示在Function中的
ReadrecordDB = objRecordset.clone()
处有语法错误,错误信息是:
Wrong number of arguments or invalid property assignment
哪位大哥大姐给点指点吧,小弟在此谢过了!

最佳答案

把你的Connection和Recordset参数拿出来,即把函数改成:
 Function ReadrecordDB(Connection,Recordset,strSQL) 
然后三个参数都从按钮动作里传递进去,对象也在按钮动作里释放,试试。

提问者对于答案的评价:
在别的地方找到答案了,但不是写成Function,而是写成Sub
Sub ReadrecordDB(Connection,Recordset,strSQL)
Function 返回Recordset,也实现了,但在函数里Connection好像不能释放。 

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc266972.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午4:55
下一篇 2019年6月11日 上午4:56

相关推荐