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

Вниз

где ошибка ?   Найти похожие ветки 

 
Golik   (2006-10-30 19:40) [0]

datamodule3.ADOQuery1.SQL.Text := "select * from Arenda where 1=1";
if CheckBox1.Checked =true then
datamodule3.ADOQuery1.SQL.Add("and комнат =:koll");
if CheckBox2.Checked =true then
datamodule3.ADOQuery1.SQL.Add("and комнат =:kol or комнат =:koll ");
datamodule3.ADOQuery1.Parameters.Clear;
datamodule3.ADOQuery1.Parameters.ParseSQL(datamodule3.ADOQuery1.SQL.Text,true);
if CheckBox1.Checked =true then
 datamodule3.ADOQuery1.Parameters.ParamByName("koll").Value:="1";
if CheckBox2.Checked =true then
 datamodule3.ADOQuery1.Parameters.ParamByName("kol").Value:="2";
datamodule3.ADOQuery1.open;

end;


выдает ошибку "неправильно определен объект Parametr , предоставленны несовместимые или неполные данные"

суть запроса такая:
если отмечен 1 чекбокс то запрос выдает 1-комнатные квартиры, если 2 то 2-х комнатные, а если оба сразу то должы выдаваться и 1-е и 2-е квартиры!


 
Anatoly Podgoretsky ©   (2006-10-30 20:14) [1]

В какой строке?


 
Desdechado ©   (2006-10-30 20:34) [2]

к сути вопроса не относится, но все же:
1. if CheckBox2.Checked =true - архаизм
2. Value:="2"; - неужто число комнат задается строкой в БД?
3. and комнат =:koll and комнат =:kol or комнат =:koll - это вообще-то 3 параметра, причем явно описанное тобой условие не сочетается с этим предикатом


 
MikePetrichenko ©   (2006-10-30 20:41) [3]


> где ошибка ?

В ДНК


 
Golik   (2006-10-30 22:20) [4]

а что число комнат не может задаваться строкой в БД ?


 
Desdechado ©   (2006-10-30 22:42) [5]

может, если число шестнадцатиричное
но, думаю, клиенты не извращенцы, да и больше 9 комнат редко просят :)

ЗЫ не на то обращаешь внимание


 
Leonid Troyanovsky ©   (2006-10-30 22:45) [6]


> Desdechado ©   (30.10.06 22:42) [5]

> но, думаю, клиенты не извращенцы, да и больше 9 комнат редко
> просят :)


Смешно будет, если спросят.
Я б не взялся объясняться.

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2006-10-30 22:46) [7]

> Golik  (30.10.2006 22:20:04)  [4]

А можно ли строку считать числом, никто тогда не мешает записать Ю


 
Anatoly Podgoretsky ©   (2006-10-30 22:49) [8]

datamodule3.ADOQuery1.SQL.Text := "select * from Arenda where 1=1";

Это еще зачем?

datamodule3.ADOQuery1.SQL.Add("and комнат =:koll and  комнат =:kol or комнат =:koll ");

Вот это уже серьезнее, третьему параметру не присвоено значение.


 
Golik   (2006-10-30 23:03) [9]


var grpOpen:boolean;
begin
datamodule3.ADOQuery1.SQL.Text := "select * from Arenda where 1=1";
grpOpen:=false;

if suiCheckBox11.Checked  then
begin
if grpOpen then datamodule3.ADOQuery1.SQL.Add("or")
 else datamodule3.ADOQuery1.SQL.Add("and (");
datamodule3.ADOQuery1.SQL.Add("комнат = 1");
grpOpen:=true;
end;

if suiCheckBox12.Checked then
begin
if grpOpen then datamodule3.ADOQuery1.SQL.Add("or")
 else datamodule3.ADOQuery1.SQL.Add("and (");
datamodule3.ADOQuery1.SQL.Add("комнат = 2");
grpOpen:=true;
end;

if suiCheckBox13.Checked then
begin
if grpOpen then datamodule3.ADOQuery1.SQL.Add("or")
 else datamodule3.ADOQuery1.SQL.Add("and (");
datamodule3.ADOQuery1.SQL.Add("комнат = 3");
grpOpen:=true;
end;
if suiCheckBox14.Checked then
begin
if grpOpen then datamodule3.ADOQuery1.SQL.Add("or")
 else datamodule3.ADOQuery1.SQL.Add("and (");
datamodule3.ADOQuery1.SQL.Add("комнат = 4");
grpOpen:=true;
end;

 if suiCheckBox15.Checked then
begin
if grpOpen then datamodule3.ADOQuery1.SQL.Add("or")
 else datamodule3.ADOQuery1.SQL.Add("and (");
datamodule3.ADOQuery1.SQL.Add("комнат = 5");
grpOpen:=true;
end;



все работает!
но если добавить в этот код этот кусок

 if suiCheckBox2.Checked then
begin
if grpOpen then datamodule3.ADOQuery1.SQL.Add("or")
 else datamodule3.ADOQuery1.SQL.Add("and (");
datamodule3.ADOQuery1.SQL.Add("Raion = 1");
grpOpen:=true;
end;

то эффекта никакого нет ! почему ????



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

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

Наверх




Память: 0.49 MB
Время: 0.039 c
9-1128964971
D3D
2005-10-10 21:22
2006.11.19
Half-Life Model Viewer


2-1162396997
daser
2006-11-01 19:03
2006.11.19
Как страницу в PageControl е сделать невидимой?


2-1162459517
olevacho_
2006-11-02 12:25
2006.11.19
Компоненты для обработки html страниц


9-1137507692
kavis
2006-01-17 17:21
2006.11.19
адресный регистр


15-1161803262
vidiv
2006-10-25 23:07
2006.11.19
Про то же переименовывание...