PDA

View Full Version : رستور searchدرمحیط delphi



پنج شنبه 12 تیر 1382, 07:51 صبح
با سلام
لطفا در خصوص اینکه چگونه می توانم در ado tableبرحسب مقدار یک edit جستجو کنم
لازم به ذکر است که این کار را می خواهم مستقیما در خود دلفی انجام دهم نه در sql serve
با تشکر فراوان

(امید)
پنج شنبه 12 تیر 1382, 08:41 صبح
من اینطوری منظورت رو فهمیدم :
می خوای به کمک DAOtable مقدار یک edit رو تو SQLServer جستجو کنی.
در اینصورت:


while not adotable1.eof do
begin
if adotable1.fieldvalues['fieldname']=trimright(edit1 .text) then
begin
showmessage('find ...');
...
break;
end;
adotable1.next;
end;

ولی پیشنهاد می کنم از ADOQuery و با دستورات SQL این کار رو انجام بدی.

امید

hr110
شنبه 14 تیر 1382, 08:57 صبح
با سلام
دوست عزیز دستور locate هم اختراع شده :oops: :

with ADOTable1 do
Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '408-431-1000']), [loPartialKey]);

SyntaxCheck
چهارشنبه 18 تیر 1382, 20:17 عصر
متاسفانه Locate هم ایراد بزرگی دارد و آن این است که جستجو را از ابتدای جمله انجام میدهد و اگر بخواهیم در بین رشته و در جایی بغیر از ابتدای جمله جستجو کنیم مناسب نمیباشد.
دستور Pos میتواند جایگزین خوبی باشد به شرط استفاده در یک حلقه مناسب.

if Pos(AdoTable1.fieldbyname('myfield').asstring,Edit 1.Text) <> 0 then{do something}
کد بالا یک زیر رشته را داخل یک رشته جستجو میکند.