سلام
آیا دلفی دستوری هم داره که بشه باهاش عمل جستجو در جدول بدون دستورات SQL انجام داد؟
سلام
آیا دلفی دستوری هم داره که بشه باهاش عمل جستجو در جدول بدون دستورات SQL انجام داد؟
سلام.
در شی ADO با دستور Locate می تونید این کارو کنید.
با دستور Filter هم می تونید محدودتر کنید.
توابع تبدیل تاریخ با دقت 5000 سال
پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/
نرم افزار پخش مویرگی
اگه میشه یک نمونه کد بزارید
با اجازه جناب you-see
if ADOTable1.Locate('نام فیلد جستجو','مقدار جستجو',[]) then
begin
///code
/// code
end
else
ShowMessage('not found'');
beray F
ADOTable1.Filter:='field = '+'مقدار';
ADOTable1.Filtered:=True;
در فیل.ت شرط ها مانند sql و ... می باشد
داخل براکت نیاز نیست مقدار دهی بشه؟
اصلا اون برای چیه؟
داخل براکت برای اینه که این مقدار دقیقا وجود داره یا بخشی از مقدار اصلی هست؟
مثل لایک
توابع تبدیل تاریخ با دقت 5000 سال
پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/
نرم افزار پخش مویرگی
بستگی به نیاز شما داره در کل 3 تا آپشن داره [loPartialKey] or [loCaseInsensitive] و []
که از اسمشون مشخصه هر کدام
[]خالی جستجوی دقیق یعنی برابر با مقدار جستجوی شما از هم لحاظ
سلام.
دستور كلي
[o] Table1.Locate('Field1', VarArray, [loPartialKek, loCaseInsensitive]); [o]
مثال
[o] MyTable.Locate('Name', MyEdit.Text, [loPartialKey]); [o]
اگه نيازي باشه بيشتر هم توضيح ميدم ولي بهترين نوع جستجو از جدول اين حالت مي باشد.
اگه درست فهمیده باشم دستور Locate برای بردن اشاره گر جدل داده ها به ردیف با شرط مورد نظر بکار میره .
نمیگم نمیشه برای جستجو باهاش کار کرد چون یه جور پیدا کردن ردیف داده مورد نظر است ولی رو ایراد بزرگ داره :
1 - در شبکه کاربرد نداره
2 - در گرفتن گروه داده (چند ردیف دارای مشخصه خاص) کاربرد نداره
اگه میشه یک نمونه کد از دستور Filter بزارید .
ADOTable1.Filter:='field = '+'مقدار';
ADOTable1.Filtered:=True;
با تشکر
همینکه خودت نوشتی درسته و خودش مثاله!
من برای فیلتر یک فیلد به این صورت نوشتم :
ADOQuery1.Filter:='Bedehkar = '+Edit1.Text+'';
ADOQuery1.Filtered:=True;
حالا اگه بخوام برای بیشتر از دو فیلد، مثلا برای دو فیلد بنویسم باید براش چجوری بنویسم .
بینش علامت (,) گذاشتم جواب نداد
and رو امتحان کنید.
توابع تبدیل تاریخ با دقت 5000 سال
پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/
نرم افزار پخش مویرگی