PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : الگوريتم جستجو در فيلد متني در دلفي



mohamad_a
17 / November / 2015, 08:03 PM
با سلام و خسته نباشيد
لطفا الگوريتم جستجوي متني در فيلد متني را راهنمائي بفرمائيد . مثلا در تكست باكس نوشته بشود

احمد+بر در آن ستون مورد نظر هر كلمه احمد و هر بر داشته باشد را بياورد. يا بعبارت ديكر مثل جستجوي

شرح تفضيل در برنامه هاي حسابداري

مجید
28 / November / 2015, 01:58 PM
برای رسیدن به این هدف باید بتونید کوئری داینامک بسازید. یعنی قسمت شرایط کوئری شما باید با توجه به مقادیر ورودی در قسمت جستجو بصورت داینامیک در برنامه تولید بشه. در مرحله اجرا هم باید در ابتدا رشته مورد نظر را بر اساس space (یا هر جدا کننده دیگری که مد نظر خودتان هست مثلا علامت +) تفکیک کرده و برای هر قسمت شرط لازم را ایجاد کنید و با بدنه اصلی کوئری ادغامش کنید

mohamad_a
29 / November / 2015, 08:02 PM
با سلام مجدد و تشكر
من مثل شما حرفه اي نيستم يك نمونه ميزارم لطفاً كاملش كنيد .

مجید
30 / November / 2015, 12:25 AM
برنامه را دیدم
رهنماییتون میکنم خودتون زحمت کد نویسیشو بکشید. (آموزش ماهیگیری)

تحلیل مساله:
چگونه در دیتابیس بدنبال ترکیبی از عبارات بگردیم

نکته : محل جستجو باید فقط یک فیلد باشد مثلا نام خانوادگی

ابتدا رشته مورد نظر برای جستجو را بر اساس یک کاراکتر خاص تفکیک کنید و هر جزء آن را داخل یک سلول از یک ارایه بریزید.
مثال : اگر بخواهیم بدنبال عبارت "انجمن ایران دلفی" بگردیم ، باید در نهایت آرایه ای به شکل زیر داشته باشیم :
["انجمن","ایران","دلفی"]
رشته فوق بر اساس کاراکتر space تفکیک شده است و نتیجه آن یک آرایه حاوی 3 عنصر است.

در مرحله بعد باید یک حلقه for روی این آرایه بزنید و برای هر عنصر آن یک رشته بسازید و این رشته ها را جایگزین همان عناصر در همان آرایه کنید. رشته هایی که باید ایجاد شوند حاوی شروط فرمان T-SQL هستند
مثال :


family like
'%'+[ItemArray[I+'%'


که نتیجه آن شبیه زیر خواهد شد :



]
"family like
'%'انجمن'%'"
,
family like
'%'ایران'%'"
,
family like
'%'دلفی'%'"
[

حالا باید این شرایط را با عبارت or ترکیب کرده و در کوئری اصلی درج کنید
مانند زیر






select * from Table where
family like
'%'انجمن'%'"
or
family like
'%'ایران'%'"
or
family like
'%'دلفی'%'"


ممکن است لازم باشد کد نوشته شده بنده را اصلاح کنید خصوصا در قسمت های زیر:
نام جدول
نام فیلد
یا استفاده از سینگل کد یا دبل کد ها