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

Вниз

Query   Найти похожие ветки 

 
Loco   (2002-08-07 15:32) [0]

Hello всем!
Народ подскажите, plzzzzzz, что тут не так:

procedure TForm1.btSearchClick(Sender: TObject);
begin
with DM1.Query1 do
begin
Close;
SQL.Clear;
SQL.Add("SELECT *");
SQL.Add("FROM "currentdata.dbf" c, "streets.dbf" s");
case Radiogroup1.ItemIndex of
0:DM1.Query1.SQL.Add("WHERE c.PASPSER =:SERIA AND c.PASPNOM =:NUMBER");
1:DM1.Query1.SQL.Add("WHERE c.fam =:Familia and c.nam =:Name and c.pat =:Otch and c.bday=:DRogd");
2:DM1.Query1.SQL.Add("WHERE s.street =:Ul and s.code = c.streetcode and c.home =:house and c.bld =:korp and c.flat =:kvart")
end;
ParamByName("Seria").AsString:=edSeria.Text;
ParamByName("Number").AsString:=edNumber.Text;
ParamByName("Familia").AsString:=edFam.Text;
ParamByName("Name").AsString:=edName.Text;
ParamByName("Otch").AsString:=edOtch.Text;
ParamByName("DRogd").AsDate:=dtpRogd.Date;
ParamByName("ul").AsString:=edStreet.Text;
ParamByName("house").AsString:=edHouse.Text;
ParamByName("korp").AsString:=edKorp.Text;
ParamByName("kvart").AsString:=edKvart.Text;
Open;
end;{with}
if DM1.Query1.RecordCount <> 0 then
DM1.DSpasp.DataSet:=DM1.Query1
else
begin
ShowMessage("Ни хрена не нашлося!!!!");
DM1.DSpasp.DataSet:=DM1.pasp;
end;{else}
end;
Блин!!! Не хотит работать и всё!
Спасибо за потраченное время :))


 
SaS13   (2002-08-07 15:35) [1]

когда ParamByName присваиваешь, он не находит параметр по имени, т.к. у тебя не все параметры в запросе а часть в зависимости от Radiogroup1.ItemIndex вот и вываливается с ошибкой


 
ZrenBy   (2002-08-07 15:37) [2]

Если текст Query пишется в проге,
то мой тебе совет не использовать параметры


 
exciter_   (2002-08-07 15:40) [3]

В данном случае, избавься от кейза.


 
Loco   (2002-08-07 15:41) [4]

2SaS13
Не-е, это всё хорошо, конечно, а как исправить??? :))


 
Loco   (2002-08-07 15:43) [5]

2exciter_
И..... для каждой радиокнопочки - отдельный запрос?????


 
SaS13   (2002-08-07 15:46) [6]


> Loco © (07.08.02 15:41)

просто в кейсе и прописывай параметры:
case Radiogroup1.ItemIndex of
0:begin
DM1.Query1.SQL.Add("WHERE c.PASPSER =:SERIA AND c.PASPNOM =:NUMBER");
ParamByName("Seria").AsString:=edSeria.Text;
ParamByName("Number").AsString:=edNumber.Text;
end;


 
Val   (2002-08-07 15:50) [7]

Блин!!! Не хотит работать и всё!

нужно бы подробнее.
на первый взгляд, совсем нелишним будет распределить параметры по значениям кейса, к своим текстам запросов. Также предложение from нужно тоже распределить по кейсу, поскольку в первых двух случаях вторая таблица (s) не используется.


 
Loco   (2002-08-07 15:50) [8]

2SaS13
а-аа-а :))))
нифига!!!!!!!!
не хочет он так работать тоже, знаешь чего пишет???
constant expression expected


 
3JIA9I CyKA   (2002-08-07 15:52) [9]

Хочу запрос для радиокнопки!


 
ZrenBy   (2002-08-07 15:53) [10]

Напиши сначала в зависимости от case
ПОЛНЫЙ текст Query со ВСЕМИ параметрами
Потом будешь сокращать


 
SaS13   (2002-08-07 15:54) [11]

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


 
Loco   (2002-08-07 15:54) [12]

2Val
Hi!!!:)))))))))
Рад видеть!
Но:
1. параметры если в кейс поставить - не работает (см. предыдущую мессагу);
2. если ещё и from с параметрами запихать в кейс - смысла в этом самом кейсе - хрен да маленько. Проще под каждую кнопку написать запрос ;)


 
Val   (2002-08-07 15:55) [13]

Неплохо еще и Query.Params.Сlear; делать, когда SQL очищаете.


 
Loco   (2002-08-07 15:56) [14]

2SaS13
Выпадает он в самом начале... Вместо формы мне стек показывает!!


 
Loco   (2002-08-07 15:58) [15]

2Val
Эт-то мысля хороший!
Ты почему опять на Вы меня называешь????


 
3JIA9I CyKA   (2002-08-07 15:58) [16]

Тогда Вам к другому врачу.


 
Val   (2002-08-07 15:59) [17]

>Loco © (07.08.02 15:54)
2. если ещё и from ...
:) можно же так:
...

SQL.Add("SELECT *");
SQL.Add("FROM "currentdata.dbf" c ");
case Radiogroup1.ItemIndex of
0:DM1.Query1.SQL.Add("WHERE c.PASPSER =:SERIA AND c.PASPNOM =:NUMBER");
1:DM1.Query1.SQL.Add("WHERE c.fam =:Familia and c.nam =:Name and c.pat =:Otch and c.bday=:DRogd");
2:DM1.Query1.SQL.Add(", "streets.dbf" s WHERE s.street =:Ul and s.code = c.streetcode and c.home =:house and c.bld =:korp and c.flat =:kvart")


 
SaS13   (2002-08-07 16:00) [18]


> Val © (07.08.02 15:55)
> Неплохо еще и Query.Params.Сlear; делать, когда SQL очищаете.

при очистке SQL.Clear очищается и Params.

> Loco © (07.08.02 15:56)
> Выпадает он в самом начале... Вместо формы мне стек показывает!!

А может у тебя тогда Radiogroup1.ItemIndex = -1 ты поподробнее напиши: обработчик - нажатие кнопки, а форма не показана - интересно


 
Loco   (2002-08-07 16:01) [19]

2Val
СПАСИБО Это тоже мысля.....
от всех бы столько достойных мыслей :))))))))))))))))))))


 
Loco   (2002-08-07 16:03) [20]

2SaS13 © (07.08.02 16:00)
Не, итеминдекс в порядке: =0


 
Loco   (2002-08-07 16:05) [21]

2SaS13
Мне тоже интересно .... даже запуститься не хотит!!!!
может перегрузиться? :))



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

Форум: "Базы";
Текущий архив: 2002.08.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.009 c
3-95633
BJValentine
2002-08-09 13:24
2002.08.29
Delphi+DTS


3-95672
Дмитрий757567
2002-08-08 11:39
2002.08.29
Что лучше SQL Server или MSSQL ?


3-95688
Val
2002-08-08 13:32
2002.08.29
Динамический SQL в Oracle


1-95881
Flasher
2002-08-18 12:01
2002.08.29
Plug-in s


14-95946
Cola
2002-07-27 21:47
2002.08.29
Как ИМЕННО беспла зарегестрировать EhLib.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский