Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];




Вниз

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]

Ыгы-гы-гы....




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.018 c
14-57843          Sandra                2002-03-07 20:54  2002.04.18  
Даме на 8-е марта :-) нужен текст из из ячейки DBGrid (Стандартный компонент)


1-57678           SPeller               2002-04-04 09:42  2002.04.18  
Как сделать, чтобы окно отображалось в таскбаре ??


14-57870          Королев               2002-03-10 12:14  2002.04.18  
Как навсегда получить доступ к роутеру?


1-57727           новенький в Делфи     2002-04-07 22:22  2002.04.18  
Закрытие формы


4-57911           xpyctuk               2002-02-14 13:06  2002.04.18  
Как вытащить выделенный фрагмент текста с других приложений