![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Неверный запрос (слишком мало параметров)
samborskijj © (2013-01-15 11:59:00)Доброго времени суток. Delphi XE3 база данных Access У меня есть запрос
select *
from Prixod
where kod_tovara=:kod_tovara
and data_rasxoda between :data1 and :data2
код в программе
var
код_товара_для_анализа:integer;
Начальная_дата, конечная_дата:TDate;
begin
try
код_товара_для_анализа:=DataModule2.QТовар.FieldValues['kod_tovara'];
except
end;
Начальная_дата:=AdvSmoothDatePicker1.Date;
конечная_дата:=AdvSmoothDatePicker2.Date;
DataModule2.QАнализ_цены_в_приходе.ParamByName('kod_tovara').AsInteger:=код_това ра_для_анализа;
DataModule2.QАнализ_цены_в_приходе.ParamByName('data1').AsDate := Начальная_дата;
DataModule2.QАнализ_цены_в_приходе.ParamByName('data2').AsDate := конечная_дата;
DataModule2.QАнализ_цены_в_приходе.Execute;
При выполнении кода пишет
Слишком мало параметров. Требуется 4.
Подскажите в чем ошибка???
samborskijj (2013-01-15 12:55:00) [21]
> не показан код вноса запроса, может ты запрос добавляешь
> к существующему.
что значить добавляю к существующему?
clickmaker (2013-01-15 12:53:00) [22]DataModule2.QАнализ_цены_в_приходе.SQL.Text; // что здесь?
DataModule2.QАнализ_цены_в_приходе.Execute;
sniknik (2013-01-15 12:53:00) [23]> пиши AsDateTime
> такая же ошибка выскакивает
это не относится к той, но твой вариант написания может стать ошибкой... (не знаю как в XE3, может "сгладили", но в D7 есть "нюансы")
sniknik (2013-01-15 12:48:00) [24]> Никто. просто так удобнее. Если надо то вставлю сообщение. Но если честно то это не относится к моему вопросу.
ошибки прятать нельзя. зачем сообщение? убери "пустышку" сообщение уже есть.
> Имена правильные.
скажи "крекс пекс фекс" и три раза повернись вокруг оси. попробуй еще раз.
+
не показан код вноса запроса, может ты запрос добавляешь к существующему.
samborskijj (2013-01-15 12:44:00) [25]Запрос еще раз повторю
select *
from Prixod
where kod_tovara=:kod_tovara
and data_rasxoda between :data1 and :data2
O'ShinW (2013-01-15 12:44:00) [26]
> В самом Accesse не проверял.
а надо бы
samborskijj (2013-01-15 12:43:00) [27]Понятно что можно обойтись без переменных. Но просто, что бы в режиме отладки отслеживать передаются ли данные в запрос. Я тоже вижу что три параметра. Но выдает именно эту ошибку.
Anatoly Pogoretsky (2013-01-15 12:40:00) [28]> samborskijj (15.01.2013 11:59:00) [0]
В запросе данных три
параметра, большего из
этого огрызка получить
нельзя, ну и также
непонятно зачем нужны
лишние переменные.
Сам же запрос скромно
скрыт.
samborskijj (2013-01-15 12:40:00) [29]
try
код_товара_для_анализа:=DataModule2.QТовар.FieldValues['kod_tovara'];
except
end;
Никто. просто так удобнее. Если надо то вставлю сообщение. Но если честно то это не относится к моему вопросу.
samborskijj (2013-01-15 12:38:00) [30]Имена правильные.
('data1').AsDate := Начальная_дата;
пиши AsDateTime
такая же ошибка выскакивает
samborskijj (2013-01-15 12:38:00) [31]Имена правильные.
('data1').AsDate := Начальная_дата;
пиши AsDateTime
такая же ошибка выскакивает
Игорь Шевченко (2013-01-15 12:35:00) [32]
> try
> код_товара_для_анализа:=DataModule2.QТовар.FieldValues['kod_tovara'];
>
> except
> end;
кто научил ?
sniknik (2013-01-15 12:31:00) [33]> ('data1').AsDate := Начальная_дата;
пиши AsDateTime
sniknik (2013-01-15 12:29:00) [34]проверь в запросе правильность имен полей, например этого - data_rasxoda
samborskijj (2013-01-15 12:13:00) [35]Вроде бы запрос и простой.
samborskijj (2013-01-15 12:12:00) [36]Вот в том то и проблема. Что пишет слишком мало параметров. Я думаю может проблема в преобразовании дат в Access. В самом Accesse не проверял.
O'ShinW (2013-01-15 12:10:00) [37]сам запрос работает? Как проверили?