分享

vba连接oracle - janv的日志 - 网易博客

 天上飞鸡 2011-03-11

vba连接oracle

旁门左道 2010-12-02 21:52:17 阅读30 评论0   字号: 订阅

'数据库用户密码
'Public Const db_name As String = "cjw"
'Public Const UserName As String = "tbcs"
'Public Const Password As String = "tbcs"

Public Const db_name As String = "sdmcc"
Public Const UserName As String = "sdmcc"
Public Const Password As String = "sd0129mcc"

'定义变量,添加引用
Public cnOra As ADODB.Connection
Public rsOra As ADODB.Recordset

'数据库查询
Public Function getQuery(sql As String) As ADODB.Recordset
    Set cnOra = New ADODB.Connection
    Set rsOra = New ADODB.Recordset
    '打开连接
    cnOra.Open "DSN=" + db_name + ";UID=" + UserName + ";PWD=" + Password + ";"
    rsOra.CursorLocation = adUseServer
    rsOra.Open sql, cnOra, 1
    rsOra.MoveFirst
    Set getQuery = rsOra
End Function

'数据库dml
Public Function dbExecute(sql As String)
   Set cnOra = New ADODB.Connection
   '打开连接
   cnOra.Open "DSN=" + db_name + ";UID=" + UserName + ";PWD=" + Password + ";"
   cnOra.Execute sql
End Function

'关闭rsOra
Public Function RsClose()
   rsOra.Close
   cnOra.Close
End Function

-------------查询

  Dim getdate As String
        getdate = "select * from WORK_LOGIN where workid='" & workid & "' AND trunc(createdate)=to_date('" & checkdate.Value & "','yyyy-mm-dd') order by createdate"
        '得到最新的结果
        Set rs = getQuery(getdate)
        Dim i As Integer
        i = 0
        Do While Not rs.EOF
            Worksheets("check").Cells(2 + i, 1).Value = rs.Fields("opername")
            Worksheets("check").Cells(2 + i, 2).Value = rs.Fields("workid")
            Worksheets("check").Cells(2 + i, 3).Value = rs.Fields("createdate")
            Worksheets("check").Cells(2 + i, 4).Value = rs.Fields("logintype")
            Worksheets("check").Cells(2 + i, 5).Value = rs.Fields("state")
            rs.MoveNext
            i = i + 1
        Loop

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多