在我们写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