Текущий архив: 2002.04.18;
Скачать: CL | DM;
Вниз
ADO -> Access 2000 ???? HEEEEEEEEELP ! Найти похожие ветки
← →
koks (2002-03-26 13:45) [0]Господа знатоки ! Помогите - совсем голову сломал.
1. Есть запрос adoqPrices. У него в св-ве SQL записано:
SELECT COLOR, CLARITY, AVG(PRICE) AS AVGPRICE
FROM "Polished_prices"
WHERE SOURCE =:Source, SIZE =:Size, CUT=:Cut
GROUP BY COLOR, CLARITY
ORDER BY COLOR, CLARITY
2. В свойстве Parameters прописано 3 параметра: Source, Sise, Cut с типом данных integer;
3. В процедуре вызываю:
adoqPrices.Close;
adoqPrices.Parameters.ParamByName("Source").Value := SourceId;
adoqPrices.Parameters.ParamByName("Size").Value := SizeId;
adoqPrices.Parameters.ParamByName("Cut").Value := CutId;
adoqPrices.Open;
При этом предварительная проверка на неNull у всех трех значений.
На строке adoqPrice.Open выдается:
EOleException with Message "Неопознанная ошибка"....
Все пальцы уже отшиб, экспериментирую со всякими установками....без Вашей помощи - никак.
И еще вопрос в догонку - Если я работаю с Access через ADO, каким синтаксическим правилам должны отвечать мои SQL-инструкции (непосредственно как в Access, или к-л. другим.) Я имею в виду всякие мелочи - скобки, пробелы и пр.
← →
asafr (2002-03-26 13:58) [1]Не знаю, наверное глупо, но может "Polished_prices"
заменить на "Polished_prices"?
Когда работал с Access через ADO использовал синтаксис Access
← →
koks (2002-03-26 14:32) [2]Конечно же, в моем коде строка WHERE такая:
WHERE (SOURCE=:Source) AND (SIZE=:Size) AND (Cut=:Cut)
<< Это меня уже тупит от всяких перестановок >>.
2 asafr: а по правилам Access надо писать [Роlished_prices] - так тоже не получается.
← →
DPetrovich (2002-03-26 14:46) [3]а если в компоненте adoqPrices Active=true поставить тоже самое?
← →
asafr (2002-03-26 15:07) [4]По правилам Access можно просто писать Роlished_prices - попробуй без [].
← →
DiggerAbstract (2002-03-26 15:30) [5]а сколько времени у тебя выполняется этот запрос?
← →
koks (2002-03-26 15:33) [6]Како-то бред. Пишу:
SELECT SOURCE, SIZE, CUT, COLOR, CLARITY, PRICE
FROM [Polished_prices]
--> опять та же ошибка
просто убираю слово SIZE - все OK....
Подскажите, почему она (оно) на Size так неровно дышит.
← →
koks (2002-03-26 15:34) [7]2 Dpetrovich ! Абсолютно...
← →
aus (2002-03-26 15:35) [8]Присваивай значения параметрам так:
Parameters[0].Value := SourceID
И еще имя таблицы не заключай в кавычки, не нужно это.
ПС
Не обязательно закрывать запрос перед изменением параметров, можно менять на ходу, а потом использовать requery.
← →
DiggerAbstract (2002-03-26 15:38) [9]так все-таки, сколько, может у тебя просто TimeOut срабатывает
← →
Johnmen (2002-03-26 15:51) [10]>koks © (26.03.02 15:33)
>просто убираю слово SIZE - все OK....
Уж сколько раз твердили миру....
Не используй в качестве имен своих объектов слова, совпадающие с синтаксисом БД !
← →
koks (2002-03-26 16:27) [11]2 DiggerAbstract. У меня запрос к тестовой базе, в которой всего 30 записей...
2 Johnmen. OK! Но не могу понять - сама Access такой запрос выполняет.... Что имеется в виду под "синтаксисом БД" и где его посмотреть чтобы избежать подобного в будущем...
2 Aus - уже пробовал....
← →
Johnmen (2002-03-26 16:43) [12]Смотреть документацию по зарезервированным словам для конкретной БД.
Не использовать слова, кот.чисто интуитивно м.б.зарезерв-ми,
напр.FILE, FIELD, SIZE, ACCESS и т.д. и т.п.
← →
koks (2002-03-26 16:58) [13]Спасибо большое, действительно - проблема была в слове Size.
У меня даже Pivot - запрос с параметрами заработал (вот уж не ожидал ;))
Но все равно - если SIZE зарезервированное слово для Access, почему сама Access на него не ругается...
2 Johnmen - как я понял, основная практически ценная рекомендация - это последняя... Только сколько надо копий сломать пока появиться эта "чисто интуиция"...
← →
Johnmen (2002-03-26 17:02) [14]Ну можно еще ко всем своим именам добавлять некий префикс, например : KoksSIZE, KoksFILE, ... :))))
← →
koks (2002-03-26 17:31) [15]Ыгы-гы-гы....
Страницы: 1 вся ветка
Текущий архив: 2002.04.18;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.005 c