QTP訪問外部數據之一:數據庫

發表于:2008-07-15來源:作者:點擊數: 標簽:數據庫qtpQTP訪問
QTP 有時候需要訪問 數據庫 ,以下整理了一些訪問數據庫常用的FUNCTION '================================================ '說明:連接數據庫 '參數:curSession,數據庫連接的指針,用于后面具體訪問的操作 'connection_string,連接字符串,如 'connecti
  QTP有時候需要訪問數據庫,以下整理了一些訪問數據庫常用的FUNCTION

'================================================
'說明:連接數據庫
'參數:curSession,數據庫連接的指針,用于后面具體訪問的操作
'connection_string,連接字符串,如 
'connection_string="Provider=MSDAORA.1;Password=password;User ID=user;Data Source=orcl;Persist Security Info=True"
'返回值:0表示連接數據庫成功,其它的為出錯信息。
'================================================
Function db_connect( byRef curSession ,connection_string)
    dim connection
    on error Resume next
    ' 打開連接
    set connection = CreateObject("ADODB.Connection")
    If Err.Number <> 0 then
        db_connect= "Error # " & CStr(Err.Number) & " " & Err.Descrīption
        err.clear
        Exit Function
    End If
 
    connection.Open connection_string
    If Err.Number <> 0 then
        db_connect= "Error # " & CStr(Err.Number) & " " & Err.Descrīption
        err.clear
        Exit Function
    End If
    set curSession=connection
    db_connect=0
End Function

'==============================================
'說明:斷開數據庫連接
'參數:curSession,數據庫連接的指針
'返回值:無
'==============================================
Function db_disconnect( byRef curSession )
    curSession.close
    set curSession = Nothing
End Function


'===============================================
'說明:通過查詢語句,得到一個記錄集
'參數:curSession,數據庫連接的指針,SQL,相關SQL語句
'返回值:函數返回一個記錄集'
'==============================================
Function db_execute_query ( byRef curSession , SQL)
     set rs = curSession.Execute( SQL )
    set db_execute_query = rs
End Function
'=============================================
'說明:獲取記錄集的行數
'參數:curRS,記錄集的指針
'返回值:返回行數
'===============================================
Function db_get_rows_count( byRef curRS )
    On error resume next
    dim rows
    rows = 0
    curRS.MoveFirst
    Do Until curRS.EOF
        rows = rows+1
        curRS.MoveNext
    Loop
    db_get_rows_count = rows
End Function

'=============================================
'說明:得到記錄集當中某一行某一列的值
'參數:curRecordSet,記錄集的指針,rowIndex,行的標識,從0開始,
'colIndex,列的標識,從0開始,可以是列名
'============================================
Function db_get_field_value( curRecordSet , rowIndex , colIndex )
    dim curRow
 
    curRecordSet.MoveFirst
    count_fields = curRecordSet.fields.count-1
    If ( TypeName(colIndex)<> "String" ) and ( count_fields < colIndex ) then
        db_get_field_value = -1 'requested field index more than exists in recordset
    Else
        curRecordSet.Move rowIndex
        db_get_field_value = curRecordSet.fields(colIndex).Value
    End If
End Function

補充說明:數據庫連接字符串(連接數據庫的時候用到的),可以通過新建一個后綴名為udl的文件,通過該文件完成數據庫的連接之后,用文本的方式打開該文件,就可以得到數據庫連接的字符串了。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97