2013-06-05 2 views
0

Как опустить параметр в вызове метода JScript ADO/ASP classic?Как опустить параметр в вызове метода JScript ADO/ASP classic?

Например, объект RecordSet имеет метод GetString (например, recordset.GetString(StringFormat, NumRows, ColumnDelimiter, RowDelimiter, NullExpr), где все параметры, кроме первого, являются необязательными.

Если я хочу пропустить параметр в VBScript (например, использовать по умолчанию для одного параметра), я могу сделать recordset.GetString 2, , "|" или использовать именованные параметры.

Однако, похоже, я не могу сделать то же самое с JScript. Я попытался использовать null для необязательного параметра, используя пустую строку (''), опустив ее полностью (как и в VBScript) и используя параметры имени JSON-типа, без везения.

Я что-то упустил, или это невозможно?

ответ

1

Это невозможно в чистом JScript. Чтобы использовать значения параметров по умолчанию, вам необходимо явно указать эти значения в вызове метода (при условии, конечно, что вы знаете, что это за значения).

Возможная опция - использовать сочетание кода JScript и VBScript, например. вызовите функцию GetString из VBScript и верните ее результат в JScript. Некоторые примеры (которые должны дать вам идею): WSH, HTA, ASP.

+0

Хорошо, спасибо за ответ, Хелен. Я также ценю альтернативные решения, которые вы перечисляете (хотя я всегда стараюсь избегать VBS). –

2

Если вы считаете, что this statement

В VBScript, это законно исключить параметры на вызовы функций, с помощью писать только запятой, например:

adoCmd.Execute,, adExecuteStream

В JavaScript это не является законным, но во всех случаях до сих пор мы могли каким-то образом обходиться, в основном, указав нуль или нуль вместо отсутствующих параметров.

Вы можете избежать смешивания языков, если вы придумали определенную стратегию для каждого вызова метода ADO. Для вашего случая .GetString() соответствующее значение zilch равно -1. Мои доказательства для корректности этого (конкретные) решение:

  • -1 'работает' в VBScript тоже
  • другие смешные числовые значения (0, -10) - и (удивительно) не определено - бросок " Операция не допускается»ошибки
  • „“и нулевой забросить ошибку типа
Смежные вопросы