PDA

View Full Version : سوال: جستجو در چند فیلد که توسط کاربر تعیین می شود



yosefyosef
جمعه 28 آذر 1393, 10:04 صبح
با سلام وخسته نباشید

من جستجو در چند فیلد می خواهم انجام بدهم که این فیلدها توسط کاربر تشخیص شود

برای مثال من فیلدها را با نام a1 , a2, a3, a4, a5 و پنج عدد checkbox ویک عدد Edit گذاشتم
الان اگر کاربر یکی انتخاب کرد دستور جستجو به این صورت می نویسیم
ADOQuery1.SQL.add('select * from Table where a1 like ''%'+ Edit1.text +'%''');


سؤال : اما اگر دو تا از checkbox یا بیشر كاربر انتخاب کرد چگونه جستجو را بنويسيم

nice boy
جمعه 28 آذر 1393, 11:37 صبح
procedure TForm1.Button1Click(Sender: TObject);var
st: string;
begin
st := 'SELECT * FROM Table Where 1=1';
if Checkbox1.Checked then
begin
st := st + 'AND a1 = '+ edit1.Text;
end;
if Checkbox2.Checked then
begin
st := st + 'AND a2 = '+ edit1.Text;
end;


AdoQuery1.SQL.Text := st
end;

yosefyosef
جمعه 28 آذر 1393, 14:42 عصر
دوست عزیز امتحان کردم ولی چنین ایروری میده

Data type mismatch in criteria expression

yosefyosef
شنبه 29 آذر 1393, 10:46 صبح
دوست عزیز بجای = از like استفاده كردم درست شد

st := st + 'AND a1 like '+ edit1.Text;