نمایش نتایج 1 تا 12 از 12

نام تاپیک: یک سوال در مورد AdoQuery

  1. #1

    Question یک سوال در مورد AdoQuery

    با سلام

    من یک Table دارم که محتویات یک فیلد آن 0 یا 1 میباشد و 0=دارد و 1=ندارد و سوال من این است که چگونه یک select بنویسم که بجای عدد 0 کلمه 'دارد' را نشان دهد و بجای 1 کلمه 'ندارد' را نشان دهد .

    با تشکر ...

  2. #2
    چند تا راه داری
    1- با کوئری این کار رو بکنی
    2- با calcField
    3- اگه با DBGrid کار میکنی از خاصیت OnDrawColumnCell استفاده کنی
    البته همه شون توضیح داده شده ولی هر کدومشون رو خواستی بگو
    You never know what you can do until you try

  3. #3
    و همچنین استفاده از رویداد های OnGetText و OnSetText از کلاس TField.

  4. #4
    با سلام

    دوست عزیز جناب آقای Mzjahromi با تشکر . من میخواهم با Query اینکار را انجام دهم

    با تشکر

  5. #5
    شما باید از case در Select خود استفاده کنید

  6. #6
    یه راه خیلی ساده اش اینه

    Select Field1,Field2,...,'دارد' as Kind
    from...
    where KindField=1
    union
    Select Field1,Field2,...,'ندارد' as Kind
    from...
    where KindField=0
    order by ...

    ولی راههای دیگه ای هم وجود داره
    آخرین ویرایش به وسیله mzjahromi : دوشنبه 22 خرداد 1385 در 08:52 صبح دلیل: این پست به دلیل تکراری بودن بطور خودکار ادغام شده است.
    You never know what you can do until you try

  7. #7

    Wink

    نقل قول نوشته شده توسط mzjahromi
    یه راه خیلی ساده اش اینه

    Select Field1,Field2,...,'دارد' as Kind
    from...
    where KindField=1
    union
    Select Field1,Field2,...,'ندارد' as Kind
    from...
    where KindField=0
    order by ...

    ولی راههای دیگه ای هم وجود داره
    دوست عزیز
    به سوال دوستمون یک نگاهی بکن در قبال مقادیری که توی فبلدهاش داره میخواد مقدار "دارد" و "ندارد" بگذارد
    نقل قول نوشته شده توسط سیروس مقصودی
    با سلام

    من یک Table دارم که محتویات یک فیلد آن 0 یا 1 میباشد و 0=دارد و 1=ندارد و سوال من این است که چگونه یک select بنویسم که بجای عدد 0 کلمه 'دارد' را نشان دهد و بجای 1 کلمه 'ندارد' را نشان دهد .

    با تشکر ...

  8. #8
    نقل قول نوشته شده توسط سید مسعود موحد
    دوست عزیز
    به سوال دوستمون یک نگاهی بکن در قبال مقادیری که توی فبلدهاش داره میخواد مقدار "دارد" و "ندارد" بگذارد
    خوب مشکلش کجاست
    You never know what you can do until you try

  9. #9
    کاربر دائمی آواتار babak869
    تاریخ عضویت
    اسفند 1383
    محل زندگی
    کرمانشاه
    پست
    1,251
    ببینید دوست عزیز سوال شما کلیست!! اگه در دیتابیس فیلدی بنام Type (فیلد توضیح) دارید میتونید در زمان ورود اطلاعات در دیتابیس شرط کنید که اگه مقدار ورودی در DbEdit مربوطه جهت عدد 0 است عبارت ندارد به اون فیلد نسبت بده و اگه 1 است عبارت دارد.اونوقت کار شما خیلی راحت میشه و فقط کوئری رو روی فیلد Type مینویسید و جستجو عبارت مورد نظر شما رو برمیگردونه.اما اگه فیلدی برای نسبت دادن این عبارت ندارید در شرط قید کنید که اگه مقدار صفره عبارت ندارد و اگه 1 عبارت دارد رو به یه Edit نسبت بده و با هر بار پیمایش اونو در یک رکورد بنویسه و Edit رو پاک کنه.
    فرض کنیم که حالت اول صحیح است و شما فیلدی بنام Type دارید و فیلد Num هم مربوط به عدد ورودی کاربر است و کاربر مقدار عدد را در DbEdit1 وارد میکند و DbEdit2 هم برای درج عبارت است.کد زیر رو در هنگام ذخیره بنویسید :

    Table1.Open
    Table1.Edit;
    if DbEdit1.Text:='1' Then
    Table1Type.AsString:='دارد';
    Else Table1Type.AsString:='ندارد';
    Table1.Post;

    حالا با یه جستجو روی فیلد Num شرط رو قرار میدید و خروجی رو روی فیلد Type میگیرید :

    Query1.Active:=FALSE;
    Query1.SQL.Clear;
    Query1.SQL.Add('SELECT * ');
    Query1.SQL.Add('FROM Table1');
    Query1.SQL.Add('WHERE (num LIKE ''%'+ EDIT1.TEXT+'%'') ');
    Query1.ExecSQL;
    Query1.Active:=TRUE;

    حالا در یک Edit مقدار مورد نظر رو مینویسید .DbGrid مربوطه رو طوری طراحی میکنید که فقط یه فیلد Type رو داشته باشه حالا با زدن عدد 1 در DbGrid تمام رکوردهایی که مقدار آنها 1 است را بصورت دارد و 0 ها رو بصورت ندارد نمایش میدهد
    امیدوارم که مطلب رو واضح توضیح داده باشم
    موفق باشید

  10. #10
    واقعا نیازی به این کارها نیست این مسئله به سادگی در دلفی پیشبینی شده با در نظر گرفتن امکان درج اطلاعات به این شکل....
    فیلد رو از نوع ftBoolean تعریف کنید بعد در قسمت DisplayValues بنویسید : دارد;ندارد

    البته این دیگه ربطی به Select نداره ولی خب وقتی نوشتی ADOQuery حتما میخوای تو دلفی کار کنی دیگه .

  11. #11
    کاربر دائمی آواتار babak869
    تاریخ عضویت
    اسفند 1383
    محل زندگی
    کرمانشاه
    پست
    1,251
    نقل قول نوشته شده توسط ghabil
    واقعا نیازی به این کارها نیست این مسئله به سادگی در دلفی پیشبینی شده با در نظر گرفتن امکان درج اطلاعات به این شکل....
    فیلد رو از نوع ftBoolean تعریف کنید بعد در قسمت DisplayValues بنویسید : دارد;ندارد

    البته این دیگه ربطی به Select نداره ولی خب وقتی نوشتی ADOQuery حتما میخوای تو دلفی کار کنی دیگه .
    البته این نوع فیلد ربطی به دلفی نداره و فیلد های نوع Boolean مربوط به دیتابیس هاست و در تمام دیتابیس ها تعریف و بیش بینی شده است

  12. #12
    مجید جان دلبندم ، کدوم دیتابیسی برای تایپ فیلدهاش پیشوند ft میزاری؟ اصلا این نوع نامگذاری مخصوص دلفی هستش ، بعدش کدوم دیتابیسی DisplayValues داره روی فیلدهاش ؟

    حتما با TField آشنا هستی ، TField یک FieldType داره (همون ft) که اگر از نوع ftBoolean بزاریش بهت DisplayValues رو میده که میتونی دوتا مقدار برای True و False بدی که بعدا همه جا این مقادیر رو کنترل میکنه چه در نمایش چه در ورود اطلاعات ...

    حالا برای فیلدی که مقادیرش 0 و 1 هست هم میشه ftInteger استفاده کرد هم میشه ftBoolean استفاده کرد . ...
    با این مقدمه یکبار دیگه جواب منو بخون بعد هم تستش کن ، بدک نیست.

    راستی گفتی فیلد Boolean در همه دیتابیسها پیشبینی شده ، میشه بگی معادلش تو Oracle چیه ؟

تاپیک های مشابه

  1. اشکال در گزارش گیری توسط adoquery
    نوشته شده توسط kavoshgar63 در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: شنبه 17 شهریور 1386, 17:55 عصر
  2. کمک در مورد AdoQuery
    نوشته شده توسط chaalesh در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 6
    آخرین پست: سه شنبه 01 خرداد 1386, 11:36 صبح
  3. سئوال در مورد adoquery
    نوشته شده توسط ali-bagban در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: جمعه 31 شهریور 1385, 13:38 عصر
  4. کمک در مورد استفاده از ADOQuery
    نوشته شده توسط delphi5 در بخش برنامه نویسی در Delphi
    پاسخ: 10
    آخرین پست: سه شنبه 14 شهریور 1385, 08:25 صبح
  5. گرفتن یه کوئری از یک Adoquery
    نوشته شده توسط DataMaster در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: یک شنبه 23 آذر 1382, 00:09 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •