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

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




صفحه 2 از 45 اولاول 12345612 ... آخرآخر
نمايش نتايج 11 به 20 از 449

نام تاپيک: آموزش و سوالات مربوط به استفاده از دستورات Sql در دلفی

  1. #11
    حـــــرفـه ای F A R H A D's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    1,383

    پيش فرض

    سلام دوباره و ممنون از لطفی که دارید. ظاهرا که تا اینجای کار دوستان مشکل خاصی ندارند، امیدوارم که استفاده کرده باشین.
    توی پست قبلی یادم رفت که در مورد between , in یه توضیح بدم که چطور میشه مقدار مورد جستجو رو از کاربر دریافت کنن.
    اگر قرار باشه کاربر از edit استفاده کنه و مقادیر مورد نظر رو وارد کنه، در اکثر دستورات sql مقادیر متنی حتما باید بین "" قرار بگیره ("متغیر") ولی برای مقادیر عددی نیازی به " " نیست.
    مثال برای between زمانی که در فیلد عددی جستجو میکنیم:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مثال برای in زمانی که در فیلد متنی (رشته) جستجو میکنیم:

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

    توجه: در دستور in فرقی نداره که مقدار عددی باشه یا رشته، حتما از پرانتز استفاده کنید.

    تا اینجا اگر سوالی هست در خدمتم، وگرنه ادامه آموزشها...
    پیروز باشید

  2. این کاربر از F A R H A D بخاطر این مطلب مفید تشکر کرده است


  3. #12
    حـــــرفـه ای F A R H A D's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    1,383

    پيش فرض

    سلام دوباره. خوشبختانه تا اینجا که ظاهرا مشکلی نیست. پس ادامه:
    در حالت عادی وقتی که از query ها استفاده میشه title مربوط به dbgrid نام فیلدهایی هست که در دستورات sql استفاده شده و معمولا به زبان انگلیسی هست. پس تکلیف برنامه های ما که به زبان فارسی هست چیه؟
    برای حل این مشکل میتونید از Alias استفاده کنید. شکل کلی دستور به صورت زیر هست:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا میخوایم که نتایج در dbgrid به صورتی نشون داده شه که دو فیلد name,color انتخاب شه و title مربوط به اونها "نام و رنگ" باشه:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حتی اگر نام جدول هم خیلی طولانی هست و شما رو کلافه کرده میتونید از Alias به همین صورت که توضیح داده شده برای کوتاه کردن نام جدول استفاده کنید و جدول رو با نام دلخواه در برنامه خودتون به کار بگیرید.

    سوال؟ نظر؟ مشکل؟
    پیروز باشید

  4. 2 کاربر از F A R H A D بخاطر این مطلب مفید تشکر کرده اند


  5. #13
    حـــــرفـه ای F A R H A D's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    1,383

    پيش فرض

    تا حالا پیش اومده که بخواین تمام مقادیر یک فیلد رو توی combobox یا یه جدول دیگه داشته باشین؟ اگر همچین موردی بوده حتما میدونید که تمام مقادیر تکراری موجود در فیلد، در نتیجه حاصل هست. ممکنه چندین مقدار تکراری در یک فیلد وجود داشته باشه و بی دلیل به لیست مورد نظر شما اضافه شده باشه. راه حل این مشکل استفاده از DISTINCT در SQL هست.
    شکل کلی دستور به صورت زیر هست:

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

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پیروز باشید

  6. این کاربر از F A R H A D بخاطر این مطلب مفید تشکر کرده است


  7. #14
    پروفشنال romixery's Avatar
    تاريخ عضويت
    Mar 2007
    محل سكونت
    ميون موجودات عجيب غريب(آدما)
    پست ها
    673

    پيش فرض

    عاليه فرهاد جان. عالي
    اگه مي توني طرز استفاده و كاربرد دستور Like رو هم بگو چون خيلي مي خوام بدونم.
    موفق باشي
    باي

  8. #15
    حـــــرفـه ای F A R H A D's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    1,383

    پيش فرض

    سلام
    یکی دیگه از دستوراتی که زمان جستجو خیلی کارآمد هست، دستور LIKE هست که به همراه where استفاده میشه. این دستور برای زمانی هست که ما به دنبال تمام مقادیری هستیم که با یک یا چند حرف مشخص شروع میشه و یا تمام میشه، و یا حتی این چند حرف میتونه جزیی از نتیجه باشه.

    شکل کلی دستور:

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

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    فرض میکنیم که مقادیر فیلد name قطعات سخت افزاری هستند. در مثال بالا اگر در edit1 مقدار "مانیتور" وارد شه، تمام مقادیری که با "مانیتور" شروع شده مثل "مانیتور Samsung، مانیتور LG ، مانیتور BenQ و ..." به نمایش در میاد.
    با کمی خلاقیت اگر این کد رو در رویداد OnChange یک ادیت قرار بدیم با تایپ اولین حرف مثلا "م" تمام مقادیر "مانیتور، ماوس، مادر بورد" و بقیه مقادیری که با "م" شروع میشه به نمایش در میاد.

    اگر به محل کاربرد "%" دقت کنید، خودتون میتونید شرط هایی که با نیاز شما سازگارتر هستند بنویسید.

    پیروز باشید.

  9. این کاربر از F A R H A D بخاطر این مطلب مفید تشکر کرده است


  10. #16
    آخر فروم باز DrXoX's Avatar
    تاريخ عضويت
    Aug 2007
    محل سكونت
    تـــــــهران پلاک 0 اسمم:محمد
    پست ها
    3,549

    پيش فرض

    سلام
    فرهاد جان عاليه
    موفق باشي

  11. #17
    پروفشنال MasterData's Avatar
    تاريخ عضويت
    Jul 2005
    محل سكونت
    مشهدالرضا
    پست ها
    623

    پيش فرض

    شايد تمام اين مطالب رو توي کتابها هم پيدا کنيد
    ولي چيزي که توي اين آموزش ها هست تفهيم کامل نوع استفاده از دستورات و مثالهايي هست که بيان شده
    خيلي جالب گفته شده , اين فرهاد بدرد ميخوره بره تدريس کنه

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


  13. #18
    پروفشنال romixery's Avatar
    تاريخ عضويت
    Mar 2007
    محل سكونت
    ميون موجودات عجيب غريب(آدما)
    پست ها
    673

    پيش فرض

    موافقم. بايد بره تدريس كنه
    دست درد نكنه فرهاد جان

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


  15. #19
    حـــــرفـه ای F A R H A D's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    1,383

    پيش فرض

    خب دیگه ... من رفتم تدریس کنم! حلال کنید دیگه. از بیکاری هم در میام...
    .
    .
    .
    .
    چرا خوشحال شدین؟ بر گشتم بابا شوخی بود!

    نکته ای که فراموش کردم در مورد select بگم اینه که select میتونه اطلاعات چند جدول رو با هم در یک query به شما نمایش بده. پس شما میتونید اطلاعاتی رو که میخواین از دو یا چند جدول انتخاب کنید.
    این کار به JOIN معروف هست.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کاربرد join در جداول master/detail بیشتر هست که جدولها بر اساس یک فیلد کلید با هم ارتباط دارند. فرض کنید در همین جدول inventory فیلد no مربوط به کد کالا، کلید هست. و جدول دیگه ای هم وجود داره به نام جدول orders که سفارش اشخاص بر اساس کد کالا در اون ذخیره میشه (پس فیلد no که در inventory کلید اصلی هست، در orders به عنوان کلید خارجی استفاده میشه) فیلدهای جدول orders میتونه "person_id(کلید اصلی) – no – fname – lname " باشه.

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

    پیروز باشید

  16. این کاربر از F A R H A D بخاطر این مطلب مفید تشکر کرده است


  17. #20
    اگه نباشه جاش خالی می مونه MohammadJavad.T's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    436

    پيش فرض

    سلام دوست عزیز خیلی عالی
    لطفا ادامه بدید

Thread Information

Users Browsing this Thread

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

User Tag List

برچسب های این موضوع

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

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