Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / CreateParameter. Упростить синтаксис / 12 сообщений из 12, страница 1 из 1
04.12.2003, 00:56
    #32342751
igor603
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateParameter. Упростить синтаксис
Очень все здравствуйте!
Неспеша переползаю на ADP+SQL. По Гетцу передать параметры в ХР правильно так
Set prm = cmd.CreateParameter("@Fam", adVarWChar, adParamInput, 30, Me![Familu].Column(1))
cmd.Parameters.Append prm

Set prm = cmd.CreateParameter("@Nam", adVarWChar, adParamInput, 15, Me![Name].Column(1))
cmd.Parameters.Append prm

Вопрос. А можно как-нибудь упростить синтаксис, типа все параметры передать в одной строке?
...
Рейтинг: 0 / 0
04.12.2003, 01:30
    #32342762
AlexeyU
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateParameter. Упростить синтаксис
вроде так

Код: plaintext
cmd.Parameters.Append cmd.CreateParameter( "@Fam" , adVarWChar, adParamInput,  30 , Me![Familu].Column( 1 ))


будет одна строка :)

--
---
Alexey
...
Рейтинг: 0 / 0
04.12.2003, 01:40
    #32342765
igor603
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateParameter. Упростить синтаксис
Прошу прощения, наверно криво сформулировал вопрос (не хотел телепатов тестировать, честно). Есть порядка 20 параметров, которые нужно передать в ХР. Как бы их все вышеприведенным способом не расписывать?
...
Рейтинг: 0 / 0
04.12.2003, 02:25
    #32342773
AlexeyU
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateParameter. Упростить синтаксис
вот этого не знаю, скорее всего так нельзя, все равно ведь для каждого параметра придется указать его имя, тип, [inout], длину...

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

--
---
Alexey
...
Рейтинг: 0 / 0
04.12.2003, 06:09
    #32342798
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateParameter. Упростить синтаксис
cmd.Parameters.Refresh
Тогда вобще не придется прорисывать параметры, ADO самостоятельно заполнит коллекцию. Но эта операция требует времени, и увеличивает наерузку на сервер, так что злоупотреблять ей не стоит.
...
Рейтинг: 0 / 0
04.12.2003, 09:59
    #32342934
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateParameter. Упростить синтаксис
Вот так:

Код: plaintext
CurrentProject.Connection.Execute  "MyProc "  & MyParam1 &  ", "  & MyParam2
ну и так далее, почти до бесконечности ;)
...
Рейтинг: 0 / 0
04.12.2003, 11:25
    #32343085
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateParameter. Упростить синтаксис
бывает такая конструкция:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
sub addprm
Dim cmd As New ADODB.Command

prmvalue = Me![Familu].Column( 1 ): prmname =  "@Fam"  : GOSUB prm
prmvalue = Me![Familu].Column( 2 ): prmname =  "@NAM"  : GOSUB prm
....


exit sub
prm:
cmd.Parameters.Append cmd.CreateParameter(prmname, adVarWChar, adParamInput,  30 , prmvalue)
return

end sub
...
Рейтинг: 0 / 0
04.12.2003, 22:55
    #32344205
igor603
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateParameter. Упростить синтаксис
Идеи понятны, спасибо.
...
Рейтинг: 0 / 0
05.12.2003, 10:14
    #32344396
Odess
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateParameter. Упростить синтаксис
Я чаще пользуюсь методом from Pavel

Код: plaintext
1.
2.
3.
4.
5.
6.
    cmd.Parameters.Refresh
    cmd.Parameters( "@p1" ) = [Forms]![Старт]![Поле41]
    cmd.Parameters( "@p2" ) = DateValue(Me![СДаты]) + TimeValue([Forms]![Старт]![ВЧ])
    cmd.Parameters( "@p3" ) = DateValue(Me![На_дату]) + TimeValue([Forms]![Старт]![ВЧ])
    cmd.Parameters( "@p4" ) = DateValue(Me![СДаты])
    cmd.Parameters( "@p5" ) = DateValue(Me![На_дату])


нечто вроде этого.
И наглядно и нет так длинно.
...
Рейтинг: 0 / 0
05.12.2003, 17:31
    #32345287
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateParameter. Упростить синтаксис
2 Odess:
А не лучше ли в таком случае запомнить "нужные вещи" в переменные?
...
Рейтинг: 0 / 0
05.12.2003, 20:06
    #32345439
Odess
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateParameter. Упростить синтаксис
2 AlexJuice
А не лучше ли в таком случае запомнить "нужные вещи" в переменные?

Может и проще - но мне так нагляднее - визуально. Хотя, конечно переменные тоже можно со смыслом назвать ;-)
Ну и если, естественно, в цикле выполняется много раз. А так - я уже давно перестал оптимизировать коды в местах, где выигрыш составит 0,00000012 секунд ;-)
...
Рейтинг: 0 / 0
06.12.2003, 15:05
    #32345592
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateParameter. Упростить синтаксис
2 Odess
Но ведь чтобы знать, что выигрыш будет именно таким, нужно сначала проверить... и желательно на разных компах :-)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / CreateParameter. Упростить синтаксис / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]