Я думаю, что Ричард предлагал что-то вроде этого:
Оригинальный код:
Dim rs
Set rs = Server.CreateObject("ADO.Recordset")
... recordset shiznit ...
Set rs = nothing
Новый код:
Dim rs
Set rs = New cHomegrownAdoRecordsetWrapper
... same unchanged recordset shiznit ...
Set rs = nothing
Если код в VBScriptТем не менее, вам будет трудно реализовать это.
Первая проблема, с которой вы столкнетесь [если вы попытались сделать это изначально в VBScript], заключается в том, что объект ADO Recordset интенсивно использует необязательные аргументы в своемметоды, и вы просто не можете создать функцию (или метод класса) в VBScript, который имеет необязательные аргументы.Поэтому вы не сможете подклассы ничего полезного.
Возможно, вы можете создать подкласс объекта набора записей ADo в JScript - можно смешивать и сопоставлять оба языка в одном и том же скрипте, используя одну и ту же страницу;просто поймите, что все, что является JScript, будет выполнено первым, независимо от того, где оно находится на странице.Сначала ASP запускает интерпретатор JScript, а затем - интерпретатор VBScript.
Возможно, вы также сможете создать свою собственную библиотеку DLL на основе Com, которая обернет объект ADO ... но вам придется исследовать это самостоятельно.
Сейчас.
Если бы это был я, я бы серьезно посмотрел на поиск и замену, в зависимости от того, насколько последовательный код.
Если вы можете получить код до точки, где встроенные запросы используют «dd FullMonthName YYYY», то есть однозначный формат даты, вам не нужно беспокоиться о проблеме DMY с базой данных, икод сохранится в любой версии SQL, с которой он работает.
Пока даты имеют текстовое название месяца и полный год, SQL не имеет значения, в каком порядке они находятся.
Я подозреваю, что вы могли бы даже взять идею Ричарда в меньшем масштабе и поместить функцию-обертку везде, где есть встроенная дата, немного понюхать время выполнения и заставить все работать снова.