Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.10.06;
Скачать: CL | DM;

Вниз

Неверный запрос (слишком мало параметров)   Найти похожие ветки 

 
samborskijj ©   (2013-01-15 11:59) [0]

Доброго времени суток. 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.
Подскажите в чем ошибка???


 
O'ShinW ©   (2013-01-15 12:10) [1]

сам запрос работает? Как проверили?


 
samborskijj ©   (2013-01-15 12:12) [2]

Вот в том то и проблема. Что пишет слишком мало параметров. Я думаю может проблема в преобразовании дат в Access. В самом Accesse не проверял.


 
samborskijj ©   (2013-01-15 12:13) [3]

Вроде бы запрос и простой.


 
sniknik ©   (2013-01-15 12:29) [4]

проверь в запросе правильность имен полей, например этого - data_rasxoda


 
sniknik ©   (2013-01-15 12:31) [5]

> ("data1").AsDate := Начальная_дата;
пиши AsDateTime


 
Игорь Шевченко ©   (2013-01-15 12:35) [6]


> try
>  код_товара_для_анализа:=DataModule2.QТовар.FieldValues["kod_tovara"];
>
> except
> end;


кто научил ?


 
samborskijj ©   (2013-01-15 12:38) [7]

Имена правильные.


("data1").AsDate := Начальная_дата;
пиши AsDateTime

такая же ошибка выскакивает


 
samborskijj ©   (2013-01-15 12:38) [8]

Имена правильные.


("data1").AsDate := Начальная_дата;
пиши AsDateTime

такая же ошибка выскакивает


 
samborskijj ©   (2013-01-15 12:40) [9]


try
 код_товара_для_анализа:=DataModule2.QТовар.FieldValues["kod_tovara"];
except
end;

Никто. просто так удобнее. Если надо то вставлю сообщение. Но если честно то это не относится к моему вопросу.


 
Anatoly Pogoretsky   (2013-01-15 12:40) [10]

> samborskijj  (15.01.2013 11:59:00)  [0]


В запросе данных три
параметра, большего из
этого огрызка получить
нельзя, ну и также
непонятно зачем нужны
лишние переменные.
Сам же запрос скромно
скрыт.


 
samborskijj ©   (2013-01-15 12:43) [11]

Понятно что можно обойтись без переменных. Но просто, что бы в режиме отладки отслеживать передаются ли данные в запрос. Я тоже вижу что три параметра. Но выдает именно эту ошибку.


 
O'ShinW ©   (2013-01-15 12:44) [12]


> В самом Accesse не проверял.

а надо бы


 
samborskijj ©   (2013-01-15 12:44) [13]

Запрос еще раз повторю

select *
from Prixod
where kod_tovara=:kod_tovara
and data_rasxoda between :data1 and :data2


 
sniknik ©   (2013-01-15 12:48) [14]

> Никто. просто так удобнее. Если надо то вставлю сообщение. Но если честно то это не относится к моему вопросу.
ошибки прятать нельзя. зачем сообщение? убери "пустышку" сообщение уже есть.

> Имена правильные.
скажи "крекс пекс фекс" и три раза повернись вокруг оси. попробуй еще раз.

+
не показан код вноса запроса, может ты запрос добавляешь к существующему.


 
sniknik ©   (2013-01-15 12:53) [15]

> пиши AsDateTime
> такая же ошибка выскакивает
это не относится к той, но твой вариант написания может стать ошибкой... (не знаю как в XE3, может "сгладили", но в D7 есть "нюансы")


 
clickmaker ©   (2013-01-15 12:53) [16]

DataModule2.QАнализ_цены_в_приходе.SQL.Text; // что здесь?
DataModule2.QАнализ_цены_в_приходе.Execute;


 
samborskijj ©   (2013-01-15 12:55) [17]


> не показан код вноса запроса, может ты запрос добавляешь
> к существующему.

что значить добавляю к существующему?


 
Плохиш ©   (2013-01-15 12:55) [18]


> samborskijj ©   (15.01.13 11:59)  


> Подскажите в чем ошибка???

В нежелании пользоваться отладчиком. Это первая причина. Вторая причина в желании сэкономить на программисте.


 
sniknik ©   (2013-01-15 12:56) [19]

> что значить добавляю к существующему?
что непонятно в "не показан код"?


 
samborskijj ©   (2013-01-15 12:56) [20]

Запрос у меня прописан в Query. Я ему просто передаю значения.


 
samborskijj ©   (2013-01-15 12:57) [21]


>
> В нежелании пользоваться отладчиком. Это первая причина.
>  Вторая причина в желании сэкономить на программисте.

если знаете ответ. то можно ответить а не язвить на форуме. отладчиком я пользовался.


 
sniknik ©   (2013-01-15 12:58) [22]

> Запрос у меня прописан в Query.
значит остался единственный вариант... может не "докрутил" по своей оси? попробуй крутиться в другую сторону. и обязательно правильно, и вслух, проговаривай слова.


 
O'ShinW ©   (2013-01-15 12:59) [23]


> > В самом Accesse не проверял.
>
> а надо бы
>


что-то дает  в самом Accesse?
> select *
> from Prixod
> where kod_tovara= 0
> and data_rasxoda between 0 and 0


 
Плохиш ©   (2013-01-15 13:00) [24]

Я не лечу по фотографии соседа.
Учитывая многа букафф из [0], озвученной ошибки быть не должно, делаем вывод - нам подсовывают фотографию соседа.


 
sniknik ©   (2013-01-15 13:01) [25]

> озвученной ошибки быть не должно
по особенностям access(jet) она может быть ([4])


 
O'ShinW ©   (2013-01-15 13:02) [26]


> DataModule2.QАнализ_цены_в_приходе.ParamByName("kod_tovara").
> AsInteger:=код_това ра_для_анализа;

кстати, а тут нет пробела в оригинале?


 
samborskijj ©   (2013-01-15 13:03) [27]


> > > В самом Accesse не проверял.
> >
> > а надо бы
> >
>
>
> что-то дает  в самом Accesse?
> > select *
> > from Prixod
> > where kod_tovara= 0
> > and data_rasxoda between 0 and 0
>
>

ошибка не выскакивает


 
sniknik ©   (2013-01-15 13:05) [28]

> ошибка не выскакивает
выскакивает предложение что то ввести... проигнорированное. нет?


 
Anatoly Pogoretsky   (2013-01-15 13:05) [29]

> samborskijj  (15.01.2013 12:40:09)  [9]

except
end;

Конечно удобно никто с
ошибками не тревожит


 
samborskijj ©   (2013-01-15 13:06) [30]


> > samborskijj  (15.01.2013 12:40:09)  [9]
>
> except
> end;
>
> Конечно удобно никто с
> ошибками не тревожит

=) Ну там вроде и ошибок не должно быть. Просто если не туда нажал то она и не выскочит.

Всем большое спасибо. Разобрался.


 
Anatoly Pogoretsky   (2013-01-15 13:07) [31]

> samborskijj  (15.01.2013 12:43:11)  [11]

Ты ничего не можешь видеть,
поскольку запроса нет


 
O'ShinW ©   (2013-01-15 13:08) [32]

*синтаксис м/б ошибочен
1. ShowMessage( inttostr( DataModule2.QАнализ_цены_в_приходе.ParamCount ));

2.
for i := 0 to DataModule2.QАнализ_цены_в_приходе.ParamCount - 1 do
ShowMessage(DataModule2.QАнализ_цены_в_приходе.Parameters[i].Name)
ShowMessage(DataModule2.QАнализ_цены_в_приходе.Parameters[i].Value)


 
O'ShinW ©   (2013-01-15 13:08) [33]


> Всем большое спасибо. Разобрался.

А сказать?


 
Anatoly Pogoretsky   (2013-01-15 13:09) [34]

> samborskijj  (15.01.2013 12:44:13)  [13]

Зачем ты показываешь
запрос чтения, а не вставки


 
samborskijj ©   (2013-01-15 13:10) [35]


>
> > Всем большое спасибо. Разобрался.
>
> А сказать?


=) Банальная ошибка. Не верное имя поля.


 
sniknik ©   (2013-01-15 13:13) [36]

> for i := 0 to DataModule2.QАнализ_цены_в_приходе.ParamCount - 1 do
возможный, классический, вариант запроса -
select * from Prixod where kod_tovara=? and data_rasxoda between ? and ?
что будет в ParamCount?

это к тому, что не все, что дельфя определила как параметр будет параметром в движке, и наоборот.

хотя, если он там найдет к примеру 6 параметров, это будет показательный тест.


 
sniknik ©   (2013-01-15 13:16) [37]

> =) Банальная ошибка. Не верное имя поля.
?
> Имена правильные.
> такая же ошибка выскакивает
?

наверняка "крекс пекс фекс" помогло.



Страницы: 1 вся ветка

Текущий архив: 2013.10.06;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.009 c
6-1269679629
syserg
2010-03-27 11:47
2013.10.06
Получить список имен файлов на сайте


6-1269649035
defen
2010-03-27 03:17
2013.10.06
демодуляция сигнала с GMSK модуляцией


15-1366835403
Юрий
2013-04-25 00:30
2013.10.06
С днем рождения ! 25 апреля 2013 четверг


2-1358661812
N.Cage
2013-01-20 10:03
2013.10.06
Как убрать символы переноса в ячейке StringGrid


2-1358407010
Cobalt
2013-01-17 11:16
2013.10.06
Почему компилируется?