函數應該只取連接字符串和一個SQL查詢作爲輸入,並將其應該連接到任何數據庫(SQL,ORACLE,SYBASE,MS ACCESS)和執行任何查詢我已經作爲參數傳遞給函數。一個通用的VBScript函數連接到任何數據庫並執行任何SQL查詢
我已經寫了下面的函數,該函數的任務,能否請您一次檢查並告訴我,這是正確的還是請告訴我,如果我錯了,任何地方。
#Public Function ConnectDB (strCon, strQuery)
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
objConnection.Open strCon
objRecordSet.Open strQuery,objConnection
objRecordSet.MoveFirst
Do Until objRecordset.EOF
Msgbox "Number of records: " & objRecordset.RecordCount
Msgbox objRecordset(0)
Msgbox objRecordset(1)
objRecordset.MoveNext
Loop
objRecordSet.Close
objConnection.Close
Set objConnection = Nothing
Set objRecordSet = Nothing
End Function
#
Call ConnectDB ("Provider = Microsoft.Jet.OLEDB.4.0; " & _
"Data Source = inventory.mdb","SELECT * FROM EMP ORDER BY EMPName")
UPDATE:
非常感謝你的答覆。
其實我已被要求寫入執行連接到任何數據庫並執行在連接的數據庫中的任何查詢(由用戶給出)的任務的功能。
我已經開始學習VBScript和想擁有的編寫函數深入的知識。 Ekkehard horner能否請你告訴我在哪裏閱讀以瞭解所有關於例程(函數和子程序)的知識。目前,我只有關於例程的基本概念,並且我提到了MSDN,他們只給出了基本信息。請幫助我在哪裏學習更多關於例程的內容。編寫程序是非常困難的,不知道它們是否正確。
嗨Sanpaco,下面是我寫的類。請檢查一次,並讓我知道更正。 我很新VBScript.Suggest我的方式來提高我的編程知識。
Class DBCommunicator
Public Function DBConnect(StrCon)
Option Eplicit
Dim oConn
set oConn = CreateObject("ADODB.Connection")
oConn.Open Strcon
Function DBConnect = True
End Function
Public Function QueryDB(StrQuery)
Option Eplicit
Dim oRst, oField
set oRst = CreateObject("ADODB.recordset")
oRst.Open "StrQuery", oConn
Do Until oRst.EOF
For each oField in oRst.Fields
Print oField.Name & " = " & oField.Value
Next
oRst.MoveNext
loop
Public Function DBdisConnect
oRst.close
oConn.close
End Function
End Class
########################################
Option Explicit
Dim strResult
strResult=DBCommunicator.DBConnect("<<Connection String of any database User want to connect>>")
If strResult<>True Then
wscript.echo "DB Connection Failed"
End If
DBCommunicator.QueryDB("Select * from EMP")
DBCommunicator.DBdisConnect
你爲什麼不嘗試,讓我們知道,如果有什麼差錯? – 2011-12-08 12:37:31