У меня нет опыта программирования с VBScript
, и я хотел бы использовать подход OOP
. Если вы посмотрите на мой код ниже, вы увидите, что я пытаюсь создать класс доступа к БД с помощью набора методов, который возвращает наборы данных. Понятия не имею, почему, но ошибки приема:VBScript. Ошибка при возврате данных
Microsoft VBScript runtime error '800a01c2'
Wrong number of arguments or invalid property assignment
/TrashCan/library/BLL/CreditBLLClass.asp, line 18
У меня есть .asp
страницы:
<body>
<!-- #INCLUDE FILE="library\BLL\CreditBLLClass.asp" -->
<%
Dim creditBLL
Dim reader
creditBLL = new CreditBLLClass
reader = creditBLL.GetData()
If reader.EOF = False Then
Do While reader.EOF = False
Response.Write(reader.Fields("a").Value)
reader.MoveNext
Loop
End If
%>
</body>
CreditBLLClass.asp:
<!-- #INCLUDE FILE="DatabaseConnectionClass.asp" -->
<%
Class CreditBLLClass
'Private variables
Dim connection
Public Default Function Init()
Set Init = Me
End Function
Public Function GetData()
connection = new DatabaseConnectionClass
GetData = connection.DBGetRecords("select a from b")
End Function
End Class
%>
и подключение к базе данных класса
<%
Class DatabaseConnectionClass
'Private variables
dim pConnection
Public Default Function Init()
Set Init = Me
End Function
Public Function DBGetRecords (sSQL)
Set pConnection = Server.CreateObject("ADODB.Connection")
With pConnection
.ConnectionString = "string"
.Open
End With
DBGetRecords = pConnection.Execute (sSQL)
End Function
End Class
%>
Ple Как мне сказать, что я делаю неправильно? Может быть, существует общий подход к созданию уровня доступа к данным?
Что эти методы 'Init' делать? – AnthonyWJones
Конструкторы по умолчанию .. – Sergejs
Помните, что VBScript не был создан для программирования стиля ООП. Хотя организация кода в классах возможна, а не плохая практика, не слишком сильно заставляйте ООП на VBScript. Позже вы столкнетесь с проблемами/проблемами производительности. –