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

Вниз

почему на второй форме параметический запрос не работает   Найти похожие ветки 

 
sipsik   (2007-03-05 12:26) [0]

Здравствуйте!
Подскажите, пожалуйста, почему у меня на второй форме не работает параметрический запрос (пишет, что нет вообще параметра в ADOQuery, хотя он есть), а на первой (главной) форме он же работает?


 
Reindeer Moss Eater ©   (2007-03-05 12:29) [1]

пишет, что нет вообще параметра в ADOQuery, хотя он есть

А ты верь тому, что он (оно) пишет.


 
sipsik   (2007-03-05 12:31) [2]

Я его создала так же, как создавала параметр на первой форме, свойства те же, но его для программы все равно нет.
В чем ошибка может быть?


 
Reindeer Moss Eater ©   (2007-03-05 12:33) [3]

но его для программы все равно нет

Это главное.
Для программы его нет. Этим все сказано.


 
ЮЮ ©   (2007-03-05 12:33) [4]

> а на первой (главной) форме он же работает?

Положи работатающий в DataModule и используй его на обеих формах (если это действительно он же). Самое главное, положи туда же ADOConnection и используй его для всех ADOQuery, где бы они не находились


 
Плохиш ©   (2007-03-05 12:35) [5]


> sipsik   (05.03.07 12:31) [2]
> Я его создала так же, как создавала параметр на первой форме

А чем не нравиться, как параметры ADOQuery создаёт?


 
sipsik   (2007-03-05 12:40) [6]

при обращении
ADOQuery2.Parameters[0].Value
пишет, что list out of bounds,
а при обращении
ADOQuery2.Parameters.ParamByName(kategor).Value
на kategor пишет, что undecleared identifier


 
Плохиш ©   (2007-03-05 12:43) [7]


> sipsik   (05.03.07 12:40) [6]

Так и будем филосовствовать или всё-таки соизволите представить работающий и неработающий код и запрос?


 
MsGuns ©   (2007-03-05 12:46) [8]

>?sipsik   (05.03.07 12:40) [6]

А код, содержащий текст запроса, можно посмотреть ?
Такое впечатление, что "параметры" в запросе указаны без "волшебного" символа ;)


 
ЮЮ ©   (2007-03-05 12:48) [9]

> ADOQuery2.Parameters.ParamByName(kategor).Value
> на kategor пишет, что undecleared identifier

Напиши
 ADOQuery2.Parameters.ParamByName("kategor").Value
если параметр так называется, только всё-равно отхватишь AV

Текст запроса  ADOQuery2 - в студию


 
sipsik   (2007-03-05 12:50) [10]

Сейчас напишу. Не успеваю.

Вот работающий на первой форме:

ADOQuery1.Parameters[0].Value:=date;
d:=datetostr(date);
QuerySQL5 := "SELECT * FROM [заказ на производство] where "Дата производства"<:data and "Реализация"=false";
ADOQuery1.SQL.Add(QuerySQL5);
ADOQuery1.Open;
ADOQuery1.Active:=true;


Вот неработающий на второй форме:

ADOQuery2.Parameters[0].Value:=ComboBox1.Text;
querySQL:=querySQL+" where "название категории"<:krit";
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(querySQL);
ADOQuery2.Active;
ADOQuery2.Open;


 
Плохиш ©   (2007-03-05 12:53) [11]


> sipsik   (05.03.07 12:50) [10]

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

d:=datetostr(date);
QuerySQL5 := "SELECT * FROM [заказ на производство] where "Дата производства"<:data and "Реализация"=false";
ADOQuery1.SQL.Text := QuerySQL5;
ADOQuery1.Parameters[0].Value:=date;
ADOQuery1.Open;


> ADOQuery2.Active;
> ADOQuery2.Open;

А это что - "масло масляное"?


 
ЮЮ ©   (2007-03-05 12:57) [12]

> ADOQuery2.Parameters[0].Value:=ComboBox1.Text;
> querySQL:=querySQL+" where "название категории"<:krit";
> ADOQuery2.SQL.Clear;
> ADOQuery2.SQL.Add(querySQL);
> ADOQuery2.Active;
> ADOQuery2.Open;

Сначала следует формировать текст запроса, а лишь затем заполнять параметры


> ADOQuery1.SQL.Add(QuerySQL5);

Теперь у тебя в SQL несколько запросов и выполняется (хотя это и странно) первый из них

> ADOQuery2.SQL.Clear;
> ADOQuery2.SQL.Add(querySQL);

А здесь хоть правильно с точки зрения формирования запроса


 
sipsik   (2007-03-05 12:59) [13]

что вы имеете в виду, извините, мне трудно понять вас.
что мне исправить, чтобы на второй форме тоже заработал параметрический запрос?
как только я сажусь за программу, один ребенок начинает играть в индейцев, а второго выгоняют из школы за второй обувью


 
sipsik   (2007-03-05 13:00) [14]

предыдущий пост - это Плохишу
а, ну теперь поняла, сейчас попробую


 
sipsik   (2007-03-05 13:09) [15]

ну вот так тоже не видит параметр

QuerySQL:="select * from [читатели] ";
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(querySQL);
ADOQuery2.Parameters[0].Value:=ComboBox1.Text;
querySQL:=querySQL+" where "название категории"<:krit";
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(querySQL);
ADOQuery2.Active;
ADOQuery2.Open;

сначала сформировала текст запроса, потом - параметры. но говорит, нет параметра


 
Плохиш ©   (2007-03-05 13:11) [16]

Kinder, K&#252;che, Kirche


 
ЮЮ ©   (2007-03-05 13:13) [17]

> а, ну теперь поняла, сейчас попробую

похоже, индейцы скальп сняли.

Еще нет, но лучше бы они сделали это:

ADOQuery2.SQL.Text :=
 "select * from [читатели] " +
 "where "название категории"<:krit";
 // cначала сформировали ВЕСЬ запрос, всякая модификация сбросит нафиг все параметрв

ADOQuery2.Parameters[0].Value:=ComboBox1.Text;
 // заполнили все параметры, сколько их есть
ADOQuery2.Open;
 // открыли


 
Плохиш ©   (2007-03-05 13:13) [18]

Каждое изменение запроса пересоздаёт список параметров.

PS. Для желающих сделать уточнение, подумайте, а знает ли она о том свойстве.


 
sipsik   (2007-03-05 13:20) [19]

Сразу говорю, чтобы не гадали: раньше я об этом свойстве не знала.
Я же не профессионал в этом вопросе, в первый раз делаю. Поэтому и вопросы в разделе "Начинающим".
А Вам, ЮЮ, большое спасибо, все получилось


 
ЮЮ ©   (2007-03-05 13:25) [20]

> А Вам, ЮЮ, большое спасибо, все получилось

Кстати, если первый запрос и "работает", но с большой долей вероятности - неправильно. Передклвйте его точно так же


 
sipsik   (2007-03-05 13:32) [21]

Да, спасибо.



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

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

Наверх




Память: 0.52 MB
Время: 0.041 c
15-1172843503
oldman
2007-03-02 16:51
2007.03.25
Что случилось с закачкой?


2-1173000973
GeLLeR
2007-03-04 12:36
2007.03.25
Разрешение монитора


2-1172913668
tytus
2007-03-03 12:21
2007.03.25
Как пролистать ListView до нужной позиции?


1-1170086620
RedBanner
2007-01-29 19:03
2007.03.25
Скрыть окно программы с панели задач


15-1171114436
Cyrax
2007-02-10 16:33
2007.03.25
Смысл параметров эллиптической дуги в vdx-формате Visio 2003