Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADOQuery и INI-файлы [D7, Access]


Washington ©   (2007-02-14 20:22:00) 

Код:
Ini:=TIniFile.Create(IniFileName);
Sis:=Ini.ReadInteger('User','Sis',0);
with Form1.ADOQuery1 do
begin
 SQL.Clear;
 SQL.Add('Select Reports');
 SQL.Add('From Reports');
 SQL.Add('Where Sis<=:Sis');
 Parameters[0].Value:=Sis;
 Active:=True;
 open;
end;

Ошибка:
Отсутствует значение для одного или нескольких параметров.
Всё перепроверил - ничего не получается. Чо делать?


Washington   (2007-02-17 17:52:00) [1]

Разобрался я с этой ошибкой. Не смейтесь пожалуйста, но имена полей в таблице и в запросе не совпадали. Глупо, я знаю


Desdechado   (2007-02-17 16:21:00) [2]

> Попробовал без параметров - всё равно та же ошибка.
> Отсутствует значение для одного или нескольких параметров.
Это означает, что ты параметру в свой компонент квери вбил статически. И теперь вне зависимости от их наличия в тексте запроса компонент ждет присвоения указанных тобой вручную параметров.


Washington   (2007-02-17 16:03:00) [3]

Попробовал без параметров - всё равно та же ошибка.
>ADIDataSet.CommandText:= 'Select Reports From Reports Where Sis<=:Sis)
>AND (1=1)');
А если не один параметр Sis, а к примеру три - Sis, End, Spd? Тогда как?


Gloomer   (2007-02-16 16:50:00) [4]

не досмотрел, что Sis число:
SQL.Add('Where Sis<='+IntToStr(Sis));


Gloomer   (2007-02-16 16:48:00) [5]

А если попробовать без параметра???

SQL.Add('Select Reports');
SQL.Add('From Reports');
SQL.Add('Where Sis<='+Sis);
open;


sniknik   (2007-02-16 14:28:00) [6]

> Я его не юзаю на данный момент. У меня ADoQuery.
а я не юзаю ADoQuery... и примеры на нем не даю. из принципа. и что теперь делать то? %)

но вообщето если внимательно почитать [9] то там вовсе не про компонент...

хотя, и по компоненту были вопросы с проблемами и именно по параметрам, но тут вроде не то, там ошибка на момент внесения порезанного запроса возникала.


Washington   (2007-02-16 13:37:00) [7]

Подохжи, мне чо надо DataSet теперь жахать? Я его не юзаю на данный момент. У меня ADoQuery.


sniknik   (2007-02-15 21:10:00) [8]

> Точно?
Точно!
точно, точно? ;) это чтоб не ждать.

на самом деле был тут случай, у человека не видело параметр если он последний в запросе...
не знаю правда или нет, добиться того же мне не удалось (может потому, что не пользуюсь ADOQuery даже для тестов... самостоятельно написанных конечно, а присылать мне свой пример тот чел тогда не стал), но в общем решение тогда было ->
ADIDataSet.CommandText:= 'Select Reports From Reports Where (Sis<=:Sis) AND (1=1)');
последнее условие это только для того чтобы параметр не стоял в конце запроса... говорили помогло...


Anatoly Podgoretsky   (2007-02-15 20:43:00) [9]

> Washington  (15.02.2007 20:41:07)  [7]

> Настроен

Точно?


Washington   (2007-02-15 20:41:00) [10]

Настроен


Desdechado   (2007-02-15 17:30:00) [11]

TADOConnection настроен?


Washington   (2007-02-15 17:14:00) [12]

Да и ещё: Имя таблицы поменял на tReports


Washington   (2007-02-15 16:00:00) [13]

1. Это не единственный ADOQuery, есть ещё один, тоже ни фига не открывает.
2. close перед clear есть, просто забыл скопировать
3. Active:=true убрал
4. Используется Jet 4


ЮЮ   (2007-02-15 08:36:00) [14]

Это единственный TADOQuery в проекте? Остальные открывают НД нормально?

Используется ODBC Access Driver? Почему не Jet?


Desdechado   (2007-02-14 20:55:00) [15]

Active:=True;
open;

Масло масляное. Достаточно чего-то одного.

ЗЫ есть уверенность, что допустимо совпадение имени поля и имени таблицы?


Johnmen   (2007-02-14 20:49:00) [16]


> Чо делать?

Повеситься? А что остаётся, если такое имя поля? :)))

А если Prepare перед Parameters[0]... и Close перед Clear?


Наверх

Титульная страница Поиск, карта сайта Написать письмо