qtp:操作mysql数据库时,提示"str open sql.conn对象打开时,不允许操作的解决方法

在我们写qtp代码连接mysql数据库的时候有可能会遇到一些问题,如图,下面就是我在工作上遇到的一个问题:

当遇到这种问题时,我的问题是因为我在循环,而我的数据集对象又在for循环的外面,所以造成在第二次循环的时候提示上面那个错误。

解决方法:

既然是循环取值,那么数据集的对象的创建就应该写 在for循环里面,数据集的关闭也是如此

Dim Conn,str,sql

Set Conn=CreateObject("ADODB.Connection")
Const ConnectionString="DSN=test;DATABASE=bip;PWD=shubo!@#huayin;PORT=3306;SERVER=202.101.167.125;UID=root"
Conn.Open ConnectionString

for i=1 to DataTable.GetSheet("Action1").GetRowCount

  Set str=CreateObject("ADODB.Recordset")'创建数据集实例
  str.Open sql,conn,1,1
  str.MoveFirst

  sql="XXXXXX"

  XXXXX

  XXXX

  str.Close '关闭数据集实例
  Set str=Nothing

DataTable.GetSheet("Action1").SetNextRow

Next  '循环完毕

Conn.Close '在for循环外面关闭数据库实例
Set Conn=Nothing

  

原文地址:https://www.cnblogs.com/tongcy/p/3468836.html