QTP从MySQL数据库中检索值时遇到问题

时间:2016-02-17 14:11:26

标签: mysql vbscript qtp

我正在研究QTP测试用例的数据库检查点。首先,脚本查询表timesheet的第一行并检索列departmentCode的值。然后,它会查询表department,根据name的值检索列departmentCode的值。之后,它将name的值与QTP的本地数据表中的值进行比较。

strCurrentEnv="localhost"
dbName="timex"
strConnection = "DRIVER={MySQL ODBC 5.3 ANSI Driver}; Server=" & strCurrentEnv & "; DATABASE="& dbName& ";uid=root; pwd="
Set conn=CreateObject("ADODB.Connection")
conn.Open strConnection

queryDepCode="Select departmentCode from timesheet where timesheetId=1"
Set exDepCode=conn.Execute(queryDepCode)
depCode=exDepCode.GetString
print depCode

queryDepName="select name from department where departmentCode="&depCode
Set exDepName=conn.Execute(queryDepName)
depName=exDepName.GetString
print depName

print DataTable("department", dtLocalsheet)

If depName=DataTable("department", dtLocalsheet) Then
print "equals"
Else
print "not equal"
End If

depCode的价值是' CS',depName是'客户支持',DataTable("department", dtLocalsheet)也是'客户支持& #39;

此刻此测试案例有两个问题。

  1. 运行此脚本时,QTP会返回错误

      

    [MySQL] [ODBC 5.3(a)驱动程序] [mysqld-5.1.41]未知列' CS'在' where子句'

         

    第(30)行:"设置exDepName = conn.Execute(queryDepName)"。

    我不知道这意味着什么。未知栏' CS'? depCode的输出为CSdepartment表的第二行有departmentCode的' CS&#39}。和name客户支持'。

  2. 我更改了语句

    queryDepName="select name from department where departmentCode="&depCode 
    

    queryDepName="select name from department where departmentCode='CS'" 
    

    这次QTP没有返回错误,但输出是

    CS
    Customer Support
    Customer Support
    not equal
    
  3. 我不明白,当输出完全相同时,它们怎么可能不相等?

    我们将不胜感激。

0 个答案:

没有答案