Форум: "Начинающим";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];
ВнизADOQuery и INI-файлы Найти похожие ветки
← →
Washington (2007-02-14 20:22) [0]Код:
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;
Ошибка:
Отсутствует значение для одного или нескольких параметров.
Всё перепроверил - ничего не получается. Чо делать?
← →
Johnmen © (2007-02-14 20:49) [1]
> Чо делать?
Повеситься? А что остаётся, если такое имя поля? :)))
А если Prepare перед Parameters[0]... и Close перед Clear?
← →
Desdechado © (2007-02-14 20:55) [2]
Active:=True;
open;
Масло масляное. Достаточно чего-то одного.
ЗЫ есть уверенность, что допустимо совпадение имени поля и имени таблицы?
← →
ЮЮ © (2007-02-15 08:36) [3]Это единственный TADOQuery в проекте? Остальные открывают НД нормально?
Используется ODBC Access Driver? Почему не Jet?
← →
Washington (2007-02-15 16:00) [4]1. Это не единственный ADOQuery, есть ещё один, тоже ни фига не открывает.
2. close перед clear есть, просто забыл скопировать
3. Active:=true убрал
4. Используется Jet 4
← →
Washington (2007-02-15 17:14) [5]Да и ещё: Имя таблицы поменял на tReports
← →
Desdechado © (2007-02-15 17:30) [6]TADOConnection настроен?
← →
Washington (2007-02-15 20:41) [7]Настроен
← →
Anatoly Podgoretsky © (2007-02-15 20:43) [8]> Washington (15.02.2007 20:41:07) [7]
> Настроен
Точно?
← →
sniknik © (2007-02-15 21:10) [9]> Точно?
Точно!
точно, точно? ;) это чтоб не ждать.
на самом деле был тут случай, у человека не видело параметр если он последний в запросе...
не знаю правда или нет, добиться того же мне не удалось (может потому, что не пользуюсь ADOQuery даже для тестов... самостоятельно написанных конечно, а присылать мне свой пример тот чел тогда не стал), но в общем решение тогда было ->
ADIDataSet.CommandText:= "Select Reports From Reports Where (Sis<=:Sis) AND (1=1)");
последнее условие это только для того чтобы параметр не стоял в конце запроса... говорили помогло...
← →
Washington (2007-02-16 13:37) [10]Подохжи, мне чо надо DataSet теперь жахать? Я его не юзаю на данный момент. У меня ADoQuery.
← →
sniknik © (2007-02-16 14:28) [11]> Я его не юзаю на данный момент. У меня ADoQuery.
а я не юзаю ADoQuery... и примеры на нем не даю. из принципа. и что теперь делать то? %)
но вообщето если внимательно почитать [9] то там вовсе не про компонент...
хотя, и по компоненту были вопросы с проблемами и именно по параметрам, но тут вроде не то, там ошибка на момент внесения порезанного запроса возникала.
← →
Gloomer © (2007-02-16 16:48) [12]А если попробовать без параметра???
SQL.Add("Select Reports");
SQL.Add("From Reports");
SQL.Add("Where Sis<="+Sis);
open;
← →
Gloomer © (2007-02-16 16:50) [13]не досмотрел, что Sis число:
SQL.Add("Where Sis<="+IntToStr(Sis));
← →
Washington (2007-02-17 16:03) [14]Попробовал без параметров - всё равно та же ошибка.
>ADIDataSet.CommandText:= "Select Reports From Reports Where Sis<=:Sis)
>AND (1=1)");
А если не один параметр Sis, а к примеру три - Sis, End, Spd? Тогда как?
← →
Desdechado © (2007-02-17 16:21) [15]> Попробовал без параметров - всё равно та же ошибка.
> Отсутствует значение для одного или нескольких параметров.
Это означает, что ты параметру в свой компонент квери вбил статически. И теперь вне зависимости от их наличия в тексте запроса компонент ждет присвоения указанных тобой вручную параметров.
← →
Washington (2007-02-17 17:52) [16]Разобрался я с этой ошибкой. Не смейтесь пожалуйста, но имена полей в таблице и в запросе не совпадали. Глупо, я знаю
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.043 c