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

[ + افزودن آگهی متنی جدید ]




صفحه 6 از 6 اولاول ... 23456
نمايش نتايج 51 به 57 از 57

نام تاپيک: اتصال دیتابیس به سرور

  1. #51
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    پيش فرض

    ممنون
    یک سوال دیگه داشتم.
    چون من توی جدولم از جوین استفاده میکنم و مقدار عددی بیشتر توی جدول هست. برای مثال دو تا از فیلد های جدول حاوی عدد 5 هستند. میخوام ببینم چه جوری میشه برای جست و جو مقدار های جست و جو رو به طور جدا وارد کرد.
    برای مثال اگه عدد 5 رو وارد کنیم معلوم نیست که ما کدوم فیلد رو برای عدد 5 جست و جو کردیم.
    تو این روشی که توی این پروژه هست تمام کلمات درون یک تکت باکس نوشته میشه و اون کلمات در تمام فیلدهای جدول جست و جو میشه.
    چه طور میشه چند تا تکست باکس گذاشت و معلوم کرد که مثلا این مقدار تکس باکس اول برای فیلد مثلا اسم هست و مقدار جست و جویی تکست باکس دوم برای فیلد نام خانوادگی هست.
    ممنون.

  2. #52
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    میخوام ببینم چه جوری میشه برای جست و جو مقدار های جست و جو رو به طور جدا وارد کرد.
    فرق خاصی نمیکند، تازه از یک زاویه نگاهی ساده تر هم میشود، چون مقدار هر فیلدی مشخص میشود.
    در یک شرایط خیلی معمولی شم میتوانید برای هر فیلد دیتابیس یک کنترلر در GUI برنامه هم مستقر کنید و بعد از یک شرط WHERE ساده روی مقادیر استفاده کنید...

    ضمن اینه که در همچین شرایطی دیگر خیلی بحث rate دادن و مرتب شدن خروجی مطرح نمیشود و همان WHERE ساده مناسب تر است.
    چرا بحث مرتب سازی خروجی مطرح نمیشود؟؟؟
    چون طبق عرف معمول برنامه های موجود وقتی شما چند فیلد را با هم وارد میکنید کاربر انتظار دارد بین این شروط AND انجام شود...

    اگر من در برنامه ای جستجو کنم ...
    "نام افرادی که علی هستند"
    یک خروجی به من نشان دهد...
    انتظار دارم اگر فیلدهای "متأهل بودن" و "فرزند داشتن" و "سن بالای 40 سال" را وارد کنم، این خروجی کمتر و خاص تر و کوچک تر شود نه اینکه با وارد کردن هر فیلد جدید بجای کوچک شدن سطرهای یافته شده، مدام سطرها بیشتر و بیشتر شوند...گ

    یعنی کاربر بیشتر انتظار AND روی تمام فیلدهایی دارد که به روشنی داده و با یک WHERE ساده قابل پیاده سازی است و در این شرایط مرتب سازی خروجی هم خیلی معنی ندارد چون همه سطرهای خروجی دارای همه شروط تایین شده بوده اند.

    مثلاً همه سطرها "علی و متأهل و فرزنددار و 40 سال" را داشتند، پس دیگر مرتب سازی معنی خاصی ندارد.

    ((
    بیشتر موارد مرتب سازی خروجی جستجو بر اساس نزدیکی به مورد جستجو (نه جدید بودن و پربازدید و...) در شرایط جستجو در اسناد متنی رخ میدهد.
    ))

    =====

    حالا دقیقاً 1) رویکرد و الگوریتم شما چیست؟ و 2) کجایش را مشکل دارید؟
    شب خوش
    Last edited by _H2_; 28-07-2013 at 23:57.

  3. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  4. #53
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    پيش فرض

    حالا دقیقاً 1) رویکرد و الگوریتم شما چیست؟ و 2) کجایش را مشکل دارید؟
    سلام.
    من میخواستم ببینم کدوم قسمت رو باید تغییر بدم تا بتونم فیلد های جست و جوی متفاوت رو تعیین کنم همونجور که خودتون توی قسمت با where توضیح دادین.
    راه WHERE مناسب است اما برای من rate بندی خیلی مهم است. فکر نکتم با استفاده از دستور WHERE و AND بشه رتبه بندی کردی.
    من برای این میگم که به صورت جدا بشه مقادیر رو وارد کرد که توی جدولم مقادیر عددی دارم و ممکنه دوتا از فیلد های جدول دارای مقدار 5 باشه و اگه عدد 5 وارد بشه معلوم نمیشه که ما عدد 5 رو برای جست و جو در کدام فیلد وارد کردیم.
    برای مثال وقتی وارد می کنیم : " علی 20 متاهل دانشجو " . این عدد 20 میتونه هم توی فیلد سن جست و جو بشه و یا برای مثال سابقه کار.
    اگر از دستور WHERE استفاده کنیم و وارد کنیم "علی 20 متاهل دانشجو" تمام رکورد هایی که دقیقا به این شکل هستند رو نشون میده و رکورد هایی که به صورت " علی 30 مجرد دانشجو" هستند رو نشون نمیده . البته با استفاده از AND .
    رتبه بندی رو حتما احتیاج دارم.
    ممنون

  5. #54
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    ممکنه دوتا از فیلد های جدول دارای مقدار 5 باشه و اگه عدد 5 وارد بشه معلوم نمیشه که ما عدد 5 رو برای جست و جو در کدام فیلد وارد کردیم
    باورکنید در عمل و بسته به پاره ای شرایط میتواند اینقدرها هم مهم نباشد!
    این نوعی جستجوی پیشرفته است که همه جارا دنبال خواسته کاربر میگردد.
    مانند موتور سرچ های اینترنتی یک یک متن کیگیرند و هرکجا را که بتوانند برای یافتن ان جستجو میکنند، حالا میخواهد Header باشد یا متن بدنه یا متن داخل یک فایل text... موتور سرچ همه جا را میگردد تا خواسته کاربرش را پیدا کند و میبینید که بیشتر کاربرها هم با این شیوه راحت هستند تا اینکه بخواهند...


    البته در آخر بستگی دارد به نوع برنامه و حیطه ای که برنامه در ان عمل میکند و صد البته بهرحال برنامه شماست!

    =====

    در نهایت راه حل منطقی آن میشود که برای فیلد های عددی از همان WHERE و AND استفاده کنید (چون فیلدهای عددی خیلی بحث rate بندی را ندارد، یا ععدشان عددی کعه کاربر وارد کرده هست یا نیست) ...
    میمااند فیلدهای متنی که در آنها rate بندی معانی متددی میتواند داشته باشد.
    که چون دیگر فیلدهایتان و مقادیرتان تفکیک شده و مشخص شدند، بهترین و سریع ترین راه استفاده از FTS و توابعی مانند FREETEXTTABLE برای ترتیب بندی خروجی است.
    در واقع SQL شما WHERE برای فیلدهای عددی خواهد داشت و JOIN و ORDER BY به FREETEXTTABLE برای فیلدهای متنی...
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    صرفاً برای تکمیل بحث و انکه اصلاحیه آن کد برای این شرایط را هم داشته باشید، میتوان کد مرکزی را که قبلاً دادم را چنین ویرایش کرد...
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد فوق آزمایش نشده ولی مشکل خاصی نباید داشته باشد.
    این کدهم مانند توضیحات قبل، فرض کرده با جداکردن فیلدها دیگر نمیخواهید فیلدهای عددی را بدین شیوه جستجو کنید و فقط رتبه بندی را روی فیلدهای متنی انجام میدهد.
    (اول و مهم تر از همه بدلیل سرعت و دوم آنکه اصولاً با جداشدن فیلدها دیگر منطقاً فرق خاصی ندارد اینجا جستجو انجام شود یا نه...)
    و با شرایط جدید فعلی که مطرح کردید از نظر سرعت و بازدهی کلاً پیشنهاد نمیکند.
    در عمل باید از همان FTS خود SqlServer استفاده کنید.


    موفق باشید.

  6. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  7. #55
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    پيش فرض

    سلام. بازم ممنون از وقتی که میذارید.
    میشه این کد رو روی چنین جدولی پیاده کنید : name,family,age,tel,vaziat tahol
    که توی این جدول وضعیت تاهل به صورت 0 و 1 ثبت میشه.
    این اطلاعات رو هم توش قرار بدید:

    علی ، زند ، 20 ، 0911346 ، 0
    محسن ، زند ، 21 ، 0911347 ، 0
    علی ، حمیدی ، 20 ، 0911345 ، 1
    و ما چنین چیزی رو جست و جو کنید :

    محسن ، حمیدی ، 20 ، 0911345 ، 0
    در اون صورت نتیجه خروجی باید به این ترتیب باشه :

    علی ، حمیدی ، 20 ، 0911345 ، 0 | 4 شباهت
    علی ، زند ، 20 ، 0911346 ، 0 | 2 شباهت
    محسن ، زند ، 21 ، 0911347 ، 1 | 1 شباهت
    ولی فکر نکنم چنین خروجی رو به ترتیب به ما بده.

    ببخشید که جسارت کردم.
    Last edited by shadmehrshadow1; 07-08-2013 at 12:12.

  8. #56
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    کد اصلاح شده
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگر توانستید کد را چنان اصلاح کنید که مقایسه فیلد های عددی، عددی انجام شود.
    موفق باشید.

  9. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  10. #57
    در آغاز فعالیت
    تاريخ عضويت
    May 2012
    پست ها
    12

    8


صفحه 6 از 6 اولاول ... 23456

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •