VBS访问、操作oracle数据库

 

Sub FetchDataCount()
    Dim sheetName As String
    sheetName = "test"

    Dim dbServiceName As String
    dbServiceName = Sheets(sheetName).Cells(1, 1)
    If dbServiceName = "" Then
        MsgBox "服务名不能为空"
        Return: FetchDataCount
    End If

    Dim tableName As String
    tableName = Sheets(sheetName).Cells(1, 2)
    Dim sqlCommand As String
    sqlCommand = Sheets(sheetName).Cells(1, 3)

    Set con = CreateObject("adodb.connection")
    con.connectionstring = "provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=sde;password=sde;Data Source=" & dbServiceName
    con.Open

    If Err <> 0 Then
        MsgBox "连接数据库失败"
        WScript.Quit
    End If

   ' Dim Rs As ADODB.Recordset
    Dim strSQL
    Dim rs

    If sqlCommand = "" And tableName = "" Then
        MsgBox "既未输入查询语句 ,也没输入表名"
        Return: FetchDataCount
    End If

    If sqlCommand = "" Then

        strSQL = "select * from " & tableName + " where 1=1 "
    Else
        strSQL = sqlCommand
    End If
    '定义查询命令对象

    Set rs = con.Execute(strSQL)

    Dim flag As Boolean
    flag = False

    Dim index As Integer

    index = 2

    Dim iColIndex As Integer
    'iColIndex = 1

    Do Until rs.EOF
          Set fld = rs.Fields
          If flag = False Then
             For i = 0 To fld.Count - 1 Step 1
                Sheets(sheetName).Cells(index, i + 1) = rs.Fields(i).Name
             Next i
             flag = True

             index = index + 2
          End If

        For m = 0 To fld.Count - 1 Step 1
            Sheets(sheetName).Cells(index, m + 1) = rs.Fields(m).Value
        Next m
        index = index + 1
        rs.movenext
    Loop


    con.Close
    Set cmd = Nothing
    Set con = Nothing

End Sub

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值