Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.037 c
2-1173068076
Tar
2007-03-05 07:14
2007.03.25
Функции и процедуры


2-1172961190
Ш-К
2007-03-04 01:33
2007.03.25
Как добавить поле в результат?


15-1172357538
Help!!!
2007-02-25 01:52
2007.03.25
По вечерам изображение на мониторе начинает дёргаться С чем может


2-1172965852
arturich
2007-03-04 02:50
2007.03.25
Опять про автозаполнение формы через webbrowser


4-1162982641
buddyman2002
2006-11-08 13:44
2007.03.25
disable node





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский