Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.5 MB
Время: 0.015 c
1-57772
Dmitry Klykoff
2002-04-05 10:21
2002.04.18
Кодирование .exe


1-57789
commm
2002-04-05 17:40
2002.04.18
как узнать имя (логин) текущего пользователя windows?


4-57918
five
2002-02-15 10:27
2002.04.18
изменения в каталогах


14-57840
lel
2002-03-07 11:00
2002.04.18
ИЗЫСКАHHЫЕ КОМПЛИМЕHТЫ ДАМАМ


3-57605
mad0max
2002-03-27 04:49
2002.04.18
XL Report