Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Query


Страницы:   1 2

Loco ©   (2002-08-07 15:32:00) 

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;
Блин!!! Не хотит работать и всё!
Спасибо за потраченное время :))


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

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


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

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


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

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


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


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

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

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

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


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

>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")


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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

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


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


> 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;


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

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


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

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


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

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


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

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо