Передача необязательных аргументов в классическом ASP для хранимой процедуры - PullRequest
0 голосов
/ 22 сентября 2011

Я пытаюсь выполнить некоторые сохраненные запросы в базе данных Access со страницы ASP. Я хотел бы использовать объект команды ADO для запуска процедуры вместо простой отправки строки в базу данных для выполнения. Моя проблема возникает, когда я пытаюсь создать параметры для отправки в хранимую процедуру. Я использую метод CreateParameter объекта Command. Требуется 5 необязательных аргументов, из которых я хочу использовать только два; имя и значение (аргументы 1 и 5 соответственно).

Я попробовал следующие подходы для настройки параметров:

1) Использование именованных аргументов

command.Parameters.Append command.CreateParameter name:="name", value:="value"

2) Использование именованных аргументов в скобках

command.Parameters.Append command.CreateParameter(name:="name", value:="value")

3) Оставляя необязательные параметры мне не нужны

command.Parameters.Append command.CreateParameter("name", , , , "value")

Какой простой способ добиться того, что я пытаюсь сделать, и почему мой синтаксис в этих случаях дает сбой? Я явно что-то здесь упускаю!

Ответы [ 2 ]

2 голосов
/ 22 сентября 2011

VBScript не поддерживает именованные аргументы с или без скобок.Все параметры, которые необходимо передать (конкретные или пустые) для CreateParameter метода объекта Command.Для раздела 3 в вопросе посмотрите:

CreateParameter(
name`[optional],                              <- fits ("name")
type [optional, default = adEmpty],           <- NOT fits (type is not empty)
direction[Optional default = adParamInput],   <- fits (blank)
size [optional default = 0],                  <- NOT fits (at least 5 for "value")
value[optional]                               <- fits ("value")
)

Итак, вы должны указать как минимум тип и размер для текстового параметра.Направление уже adParamInput.

Const adVarChar = 200 ' From adovbs.inc or Ado TypeLib
command.Parameters.Append command.CreateParameter("name", adVarChar, , 5, "value")
0 голосов
/ 22 сентября 2011

вот пример, которому можно следовать.

http://www.webconcerns.co.uk/asp/accessqueries/accessqueries.asp

см. Также

http://bytes.com/topic/asp-classic/answers/628368-running-access-stored-queries-parameters

Помните, доступ использует хранимые запросы, а нехранимые процедуры, поэтому применяются некоторые различия.Для получения дополнительной информации выполните поиск

ASP с доступом к хранимым запросам с использованием параметров - .net

.
...