UFT连接数据库类

南笙酒味 提交于 2020-01-16 05:22:41

UFT自动化测试脚本,连接数据库类
【带有 ’ 的表示注释行】

'创建连接数据库类

Class database    '创建类
Dim cnglobal
Dim odatabase
Dim sdbname
Dim txtsql
Dim rs          'dim是定义变量
Public Function opendatabase()        '创建函数, 打开数据库的函数
   Set cnglobal=createobject("ADODB.connection")      '创建一个数据库连接对象,但是还没连接数据库
    cnglobal.CommandTimeout=8     '查询数据库所用的总时间
On error resume Next  '加上此语句后,如果后面的程序出现"运行时错误"时,会继续运行,不中断
cnglobal.Open "Provider=OraOLEDB.Oracle.1;Password=bjmedicare;Persist Security Info=True;User ID=bjmedicare;Data Source=oracle33"
'使用程序自带的open方法打开数据库,   provider是连接字符串的意思,OraOLEDB.oracle是来自oracle的驱动,.1是指版本号
'password是数据库密码,security info=true表示"ADO在数据库连接成功后是否保存密码信息,ture是保存,false是不保存。
'user id是用户名,data source是数据库名。

    If err.number<>0 Then     'err.number是指错误的数量,err.number<>0是指,错误的数量不等于0,即有错误。
    	opendatabase=false    '表示数据库连接失败
    	reporter.reportevent micfail,"fun_database——" &"opendatabase:" & cstr(err.number),err.description
    	'Reporter是对象,reportevent是该对象的方法,此方法可以用来报告一个失败信息。用处是在test result中报告测试结果
    	End If
'----------------------------------------------------------------------------------------------------------------------------    	
      On error goto 0   '加上此语句后,如果后面的程序出现“运行时错误”时,会显示出错信息,并且停止程序的运行。
 
     If cnglobal.State=0 Then     'cnglobal是变量,在第8行时赋予了数据库连接对象的属性,意思是如果数据库连接对象的状态是0,则表示数据库连接不成功
     	   opendatabase=false
     	else
     	   opendatabase=true      '否则连接成功
     End If
  End Function
  
 '----------------------------------------------------------------------------------------------------------------------- 
  Public Function closedb()         '创建函数,关闭数据库
  	If not cnglobal is nothing Then      '否定的否定就是肯定,表示,如果cnglobal是存在的
  		 On error resume next         '加上此语句后,如果后面的程序出现"运行时错误"时,会继续运行,不中断
           cnglobal.Close             '调用close方法,关闭对象(数据库),关闭还可以open打开,但是nothing就是清空了,需要重新set设置了。
           If err.number<>0 Then       'err.number是指错误的数量,err.number<>0是指,错误的数量不等于0,即有错误。
           	 
           	 Set cnglobal=nothing      '清空对象  要不然这个对象会一直存在内存中,影响速度    close和nothing的区别,已经收藏网页在收藏栏了。
           	 reporter.reportevent micfail,"fun_database——" &"closedb:" & cstr(err.number),err.description      
              'Reporter是对象,reportevent是该对象的方法,此方法可以用来报告一个失败信息。用处是在test result中报告测试结果               	 
           End If         
          On error goto 0     '加上此语句后,如果后面的程序出现“运行时错误”时,会显示出错信息,并且停止程序的运行。
          Set cnglobal=nothing    '清空对象      close和nothing的区别,已经收藏网页在收藏栏了。
   End If
  End Function
 End Class
Public Function databaseclass     '创建函数databaseclass
Set databaseclass=new database    'database是类,  创建一个对象databaseclass,拥有database类的所有属性,可以调用database类下的所有方法和变量。
End Function
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!