Query Parameters

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Samovar
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 111
Зарегистрирован: 23.05.2004 (Вс) 8:13

Query Parameters

Сообщение Samovar » 18.06.2004 (Пт) 3:23

1. Есть БД - MDB в которой записал Query- "qryMy". В програме создается ADO Connection и ADO Command. Потом:

cmdMy.ActiveConnection = cnMy
cmdMy.CommandType = adCmdUnknown
cmdMy.CommandText = "qryMy"
comW.Parameters.Append comW.CreateParameter("P_DAT",...)
comW.Parameters.Append comW.CreateParameter("P_ID",...)

Все работало, но после редактирования "qryMy" Access переставил места аргументов в SQL запросе. Теперь, когда вызываю qryMy в Access, спрашивает дату и уже потом ID. А из VB вообще не работало, пока не переставил создание параметров:
comW.Parameters.Append comW.CreateParameter("P_ID",...)
comW.Parameters.Append comW.CreateParameter("P_DAT",...)

Зачем тогда вообще нужны имена аргументов, если VB передает их в последовательности востребования? Или может быть я неправильно задал имена параметров - в myQry - [P_DAT] и [P_ID], в VB пробывал через "P_ID" и "[P_ID]" - без разницы.

2.Когда аргумент - дата, почемуто Access трансформирует аргумент, если вызвать cmdMy второй раз:
01.04.2004 -> 04.01.2004
Аргумент передаю как дату (DataPicker.Value, но пробывал через
format(DataPicker.Value,"yyyy/mm/dd")). В первый раз все работает, но если възвать cmdMy во второй раз (меняю ID), возвращаемый recordset соответствует перевернутой дате. А если уничтожить qryMy и создать заново, каждый раз - все работает.

P.S. Извините за долгий вопрос
Ученье - свет, неученых - тьма.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 18.06.2004 (Пт) 9:40

Попробуй передавать дату как #MM/DD/YYYY#.
А насчет первого вопроса - посмотри SQL-код запроса.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 14

    TopList