Форум: "Базы";
Текущий архив: 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.007 c