функция должна просто принимать строку подключения и запрос SQL в качестве входных данных и должна подключаться к любой базе данных (SQL, ORACLE, SYBASE, MS ACCESS) и выполнять любой запрос, который я передал в качестве параметров функции.
Я написал нижеприведенную функцию для этой задачи. Можете ли вы проверить это один раз и сказать мне, что это правильно, или, пожалуйста, скажите мне, если я где-то не так.
#
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")
ОБНОВЛЕНИЕ:
Большое спасибо за ответы.
На самом деле меня попросили написать функцию, которая выполняет задачу подключения к любой базе данных и выполнения любого запроса (заданного пользователем) в этой подключенной базе данных.
Я начал изучать VBScript и хочу иметь глубокие знания о написании функций.Эккехард Хорнер, скажите, пожалуйста, где я могу прочитать, чтобы узнать все о процедурах (функциях и подпроцедурах)?В настоящее время у меня есть только основная идея о подпрограммах, и я сослался на MSDN, где они дали только основную информацию.Пожалуйста, помогите мне, где узнать больше о рутинах.Очень трудно писать программы, не зная о них правильно.
Привет, Санпако, ниже приведен класс, который я написал.Пожалуйста, проверьте его один раз и дайте мне знать исправления.Я очень новичок в VBScript. Предложите мне способы улучшить свои знания в области программирования.
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