delphiprog3000
چهارشنبه 01 اسفند 1386, 10:03 صبح
با سلام به دوستان و اساتید محترم سایت:
اخیرا برای من مشکلی پیش اومده که در رابطه با adoquery و پیغام خطایی که ایجاد میشود به این شکل میباشد.
Incorrect syntax near where
که مربوط به خالی بودن رشته Str1 من میباشد.
واین هم کد من:
flag:=false;
if (edt_code_id.Text<> '') then
begin
flag:=true;
str1:=' code_id like '+QuotedStr('%'+edt_code_id.Text);
end;
if (edt_name.Text<> '') then
begin
if flag then
begin
str1:=str1+'and';
str1:=' name like '+QuotedStr('%'+edt_name.Text);
flag:=true;
end
else str1:=' name like '+QuotedStr('%'+edt_name.Text);
if (edt_family.Text<> '') then
begin
if flag then
begin
str1:=str1+'and';
str1:=' family like '+QuotedStr(edt_family.Text);
flag:=true;
end
else str1:=' family like '+QuotedStr(edt_family.Text);
end;
end;
if not(edt_name.Text='') or not(edt_family.Text='') or not(edt_code_id.Text='') or not(rdb_sort.Checked=false) then
begin
if flag2 then
begin
with Qry_search_customer do
begin
close;
SQL.text:=' select * from tblcustomer order by counter';
Open;
end;
end
else
with Qry_search_customer do
begin
close;
sql.Text:=' select * from tblcustomer where '+str1;
open;
end;
end;
مشکل من در آخرین فیلد که فیلد فامیلی است. مه من با تریس گذاری و Sql profiler متوجه شدم که مقداری به رشته Str1 اختصاص داده نمیشود.
از دوستان و اساتیدی که در این ضمینه اطلاع دارند. تقاضا دارم اینجانب را راهنمایی کنند.
از زحمات شما متشکرم (بابک)
اخیرا برای من مشکلی پیش اومده که در رابطه با adoquery و پیغام خطایی که ایجاد میشود به این شکل میباشد.
Incorrect syntax near where
که مربوط به خالی بودن رشته Str1 من میباشد.
واین هم کد من:
flag:=false;
if (edt_code_id.Text<> '') then
begin
flag:=true;
str1:=' code_id like '+QuotedStr('%'+edt_code_id.Text);
end;
if (edt_name.Text<> '') then
begin
if flag then
begin
str1:=str1+'and';
str1:=' name like '+QuotedStr('%'+edt_name.Text);
flag:=true;
end
else str1:=' name like '+QuotedStr('%'+edt_name.Text);
if (edt_family.Text<> '') then
begin
if flag then
begin
str1:=str1+'and';
str1:=' family like '+QuotedStr(edt_family.Text);
flag:=true;
end
else str1:=' family like '+QuotedStr(edt_family.Text);
end;
end;
if not(edt_name.Text='') or not(edt_family.Text='') or not(edt_code_id.Text='') or not(rdb_sort.Checked=false) then
begin
if flag2 then
begin
with Qry_search_customer do
begin
close;
SQL.text:=' select * from tblcustomer order by counter';
Open;
end;
end
else
with Qry_search_customer do
begin
close;
sql.Text:=' select * from tblcustomer where '+str1;
open;
end;
end;
مشکل من در آخرین فیلد که فیلد فامیلی است. مه من با تریس گذاری و Sql profiler متوجه شدم که مقداری به رشته Str1 اختصاص داده نمیشود.
از دوستان و اساتیدی که در این ضمینه اطلاع دارند. تقاضا دارم اینجانب را راهنمایی کنند.
از زحمات شما متشکرم (بابک)