QTP的那些事--vbs通用操作数据库函数整理

简介:

原文地址:

http://bbs.51testing.com/viewthread.php?tid=118028&highlight=

代码如下:

' DATABASE公用函数
''###########################################################################################################
''CONNECTION对象实例
Dim objRecordSet                                   ''命令对象实例
Dim strConnectionString                        '' ********************************************************************
'' 参数说明:(1)strDBType(数据库类型:如ORACEL;DB2;SQL;ACCESS)
''           (3)strUID(用户名)
''           (5)strIP(数据库IP地址:仅SQL SERVER 使用)
''           (7)strDataSource(数据源:仅ACCESS使用;如d:\yysc.mdb)
'' 调用方法: ConnectDatabase(strDBType, strDBAlias, strUID, strPWD, strIP, strLocalHostName, strDataSource)
'"ADODB.CONNECTION"'1 - 建立CONNECTION对象的实例
    
    Select Case UCase(Trim(strDBType))
        Case "ORACLE"
            strConnectionString = "Driver={Microsoft ODBC for Oracle};Server=" & strDBAlias & ";Uid="_
                & strUID & ";Pwd=" & strPWD & ";"                                ''3 - 用Open 方法建立与数据库连接
        Case "DB2"
            strConnectionString = "Driver={IBM DB2 ODBC DRIVER};DBALIAS=" & strDBAlias & ";Uid="_
                & strUID & ";Pwd=" & strPWD & ";"                                
            objConnection.Open strConnectionString                                
        Case "SQL"
             strConnectionString = "DRIVER=SQL Server; SERVER=" & strIP & "; UID=" & strUID & "; PWD="_
                 & strPWD & "; APP=Microsoft Office 2003;WSID=" & strLocalHostName & "; DATABASE=" & strDBAlias & ";"
            objConnection.Open strConnectionString                                            
        Case "ACCESS"
            strConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" & strDataSource &_
                ";Jet OLEDB:Database Password=" & strPWD & ";"
            objConnection.Open strConnectionString                                                  
        Case Else 
            MsgBox "输入的数据库类型格式有误" & vbCrLf & "支持的数据库类型格式:ORACLE;DB2;SQL;ACCESS;EXCEL"
    End Select 
    
    If (objConnection.State = 0) Then
        MsgBox "连接数据库失败!"
    End If 
    
End Sub


'' 函数说明:查询数据库(查询单列);
''           (2)strFieldName:字段名
'' 返回结果:  intArrayLength:查询数据库返回的记录行数
'' 调用方法: intArrayLength = QueryDatabase(strSql, strFieldName, str_Array_QueryResult)
''数组长度
     Dim i
    
    i = 0   
    str_Array_QueryResult = Array()                                '"ADODB.RECORDSET"'4 - 建立RECORDSET对象实例
    Set objCommand = CreateObject("ADODB.COMMAND")              ''6 - 执行SQL语句,将结果保存在RECORDSET对象实例中
    
    intArrayLength = objRecordSet.RecordCount                  ''将数据库查询的列值赋值给数组             
                    str_Array_QueryResult(i) = objRecordSet(strFieldName)
                        ''        Else
                ''str_Array_QueryResult(0) = ""     
    End If 
    
    QueryDatabase = intArrayLength
End Function


'' 函数说明:更新数据库;包括INSERT、DELETE 和 UPDATE操作
'' 返回结果:无
'' ********************************************************************
Sub UpdateDatabase(strSql)
        Dim objCommand
        Dim objField        
        
        Set objCommand = CreateObject("ADODB.COMMAND")
        Set objRecordSet = CreateObject("ADODB.RECORDSET")
        objCommand.CommandText = strSql
        objCommand.ActiveConnection = objConnection
        Set objRecordSet = objCommand.Execute
        
''                For Each objField In objRecordSet.Fields
'": ""   "'                Next
                
''                Debug.WriteLine
'' ********************************************************************
'' 参数说明:(1)strSql:SQL语句
'' 调用方法: MaxLength = GetLenOfField(strSql)
''如果SQL语句为空,则默认返回的列长度为0,结束函数;否则返回列的实际长度
    If strSql = "" Then
        GetLenOfField  = 0
                Exit Function
    Else
            Set objRecordSet = CreateObject("ADODB.RECORDSET")                        '"ADODB.COMMAND"'5 - 建立COMMAND对象实例
            objCommand.ActiveConnection = objConnection
            objCommand.CommandText = strSql
                objRecordSet.CursorLocation = 3
                objRecordSet.Open objCommand                                ''返回符合查询结果的列的长度
        
                Set objCommand = Nothing        
                Set objRecordSet = Nothing
        End If 
End Function


'' 函数说明:关闭数据库连接;
'' 返回结果:无
'

End Sub



本文转自hcy's workbench博客园博客,原文链接:http://www.cnblogs.com/alterhu/archive/2012/03/25/2417060.html,如需转载请自行联系原作者。

目录
相关文章
|
8月前
|
SQL 关系型数据库 MySQL
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
63 0
|
2月前
|
SQL 数据挖掘 测试技术
南大通用GBase8s数据库:LISTAGG函数的解析
南大通用GBase8s数据库:LISTAGG函数的解析
|
2月前
|
SQL 测试技术 数据库
|
3月前
|
SQL 数据库 数据库管理
数据库SQL函数应用技巧与方法
在数据库管理中,SQL函数是处理和分析数据的强大工具
|
8月前
|
SQL 存储 关系型数据库
【MySQL技术专题】「实战开发系列」一同探索一下数据库的加解密函数开发实战指南之AES系列
【MySQL技术专题】「实战开发系列」一同探索一下数据库的加解密函数开发实战指南之AES系列
392 0
|
5月前
|
SQL 数据处理 数据库
|
5月前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
558 0
|
7月前
|
SQL 关系型数据库 MySQL
MySQL数据库基础第二篇(函数)
MySQL数据库基础第二篇(函数)
|
7月前
|
SQL 关系型数据库 MySQL
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
51 5
|
7月前
|
关系型数据库 MySQL 数据库
MySQL数据库——函数-字符串函数、数值函数、日期函数、流程函数
MySQL数据库——函数-字符串函数、数值函数、日期函数、流程函数
54 2