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

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




نمايش نتايج 1 به 10 از 10

نام تاپيک: ارتباط بین جدارول دلفی با بانک sql

  1. #1
    پروفشنال P A R M I S's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    652

    پيش فرض ارتباط بین جدارول دلفی با بانک sql

    با سلام
    می شه نحوه ارتباط بین دو جدول رو با استفاده از یک فیلد مشترک مثل id که در هر دو جدول وجود دارند و از یک نوع هستند رو بگید (دلفی و بانک sql) و اینکه نوع بانک در نحوه اتصال جداول تاثیری دارد یا نه ؟

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

    پيش فرض

    سلام. master/detail رو جستجو كنيد
    نوع بانک در نحوه اتصال جداول تاثیری دارد یا نه ؟
    اگر اتصال رو با دلفي انجام ميديد خير تاثيري نداره

  3. #3
    داره خودمونی میشه Hadi_0261's Avatar
    تاريخ عضويت
    Sep 2008
    محل سكونت
    همین بغل
    پست ها
    111

    پيش فرض با سلام

    ابتدا باید ارتباط بین 2 جدول رو مشخص کنید که چه را بطه ای دارند . اگر از نوع 1 به N بودند اونوقت یه کلید خروجی از یک جدول تو جدول دیگه ایجاد می کنی . اگه جزئیاتش رو نمیدونی بگو تا بنویسیم .

  4. #4
    پروفشنال P A R M I S's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    652

    پيش فرض

    ارتباط بین جداولم 1 به 1 است

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

    پيش فرض

    ارتباط يك به يك رو بهتره كنار بگذاريد و تمام فيلدها رو در يك جدول ادغام كنيد. دليل خاصي براي اين كار داريد؟

  6. #6
    پروفشنال P A R M I S's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    652

    پيش فرض

    دلیل اصلی اش رو خودم هم نمی دونم آخه اومدم کمک خواستم این پیشنهاد رو دادن آخه من می خوام از دو جدولی که دارم افرادی که اطلاعات اونها در جدول اولی ام درج شده و در جدول دوم بعنوان کارمند مشخص شده اند انتخاب شوند و در دی بی گرید نشون داده بشن (یعنی اونهایی رو که در دی بی گرید می خواد نشون بده اونهایی هستند که نامشان مثلا علی احمدی از جدول اول ودر جدول دوم هم بعنوان کارمند مشخص شده اند )

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

    پيش فرض

    آخه اومدم کمک خواستم این پیشنهاد رو دادن
    شما كه اينقدر به پيشنهادات گوش ميكنيد، پيشنهاد پست قبلي من رو انجام بديد ضرري نداره
    در غير اينصورت master/detail براي كار شما راه حل نيست
    يك كوئري بگيريد و بوسيله اون كوئري خيلي راحت از اطلاعات join شده استفاده كنيد

  8. #8
    داره خودمونی میشه Hadi_0261's Avatar
    تاريخ عضويت
    Sep 2008
    محل سكونت
    همین بغل
    پست ها
    111

    پيش فرض با سلام

    من دقیقا متوجه نشدم که شما می خوای چه کاری انجام بدی ولی یه چیز کلی در رابطه با ارتباط جداول می نویسم . فرض کن 2 تا جدول داری . جدول student و teacher میگیم هر دانش آموز 1 معلم داره ولی هر معلم میتونه چندین دانش آموز داشته باشه . پس این میشه یک رابطه 1 به چند . تو این رابطه باید یه فیلد به اسم FK_Teacher تو جدول Student ایجاد کنیم و تو ریلیشن شیپ SQL Server کلید اصلی جدول معلم رو به FK_Teacher تو جدول دانش آموز وصل کنیم . اما اگر دو جدولمون هیچ ربطی به هم نداشته باشند این کار رو نمی کنیم . اگر شما می خوای موارد خاصی از دو جدولی که به هم ربطی ندارند رو توی Gtid نشون بدی بهتره که با استفاده از دستورات SQL یه Query بنویسی و اون رو به Grid وصل کنی .

  9. #9
    پروفشنال P A R M I S's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    652

    پيش فرض

    من هم در sql اومدم بین دو جدولم ارتباط برقرار کرده ام و همونطور که شما گفتین از join استفاده کردم ولی مشکلی که دارم اینه که برای فیلدهایی که عدد هست درست عمل می کنه اما برای فیلدهایی مانند نام درست عمل نمی کنه به عنوان مثال از دستور زیر استفاده کرده ام
    adoquery1.SQL.Clear;
    adoquery1.Close;
    adoquery1.SQL.Add('SELECT tteacher.karmand , ttclock.datet, ttclock.a1t FROM ttclock left outer JOIN tteacher ON ttclock.ido = tteacher.ido WHERE tteacher.tel=11111 ');
    adoquery1.Open;

    که دستور بالا درست جواب می ده اما اگه از دستور زیر استفاده کنم پیغام خطا می ده

    adoquery1.SQL.Clear;
    adoquery1.Close;
    adoquery1.SQL.Add('SELECT tteacher.karmand , ttclock.datet, ttclock.a1t FROM ttclock left outer JOIN tteacher ON ttclock.ido = tteacher.ido WHERE ttclock.name like "'+edit5.text+'"');
    adoquery1.Open;

    در این دستور حتی به جای edit5 هم نام را قرار می دم اما درست جواب نمی ده به جای edit5 از چی استفاده کنم تا درست جواب بده (دلفی با بانک sql ) بین دو جدول با استفاده از فیلد مشترک ido هم همونطور که مشخصه ارتباط برقرار کرده ام

  10. #10
    داره خودمونی میشه Hadi_0261's Avatar
    تاريخ عضويت
    Sep 2008
    محل سكونت
    همین بغل
    پست ها
    111

    پيش فرض با سلام

    دوست عزيز . اگر بانك شما SQL هست بهتره از كامپونت هاي SDAC استفاده كنيد . در ضمن تو دستوري كه براي حروف مي نويسيد و خطا ميده به اين دليله كه بايد تبديل به String بشه چون اين دستور String قبول ميكنه . در ضمن بهتره كه شما يه Query بنويسيد و با يه دستور Grid رو به اون Query وصل كنيد تا اينكه اين همه كد بنويسيد .

Thread Information

Users Browsing this Thread

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

User Tag List

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

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