PDA

View Full Version : سوال: عدم نمایش فیلدهای دو جدول در DBGrid



hadisalahi2
دوشنبه 11 مرداد 1389, 19:15 عصر
با سلام به همگی دوستان
من با دستور Join بین دو تا جدول ارتبط برقرار کردم



'SELECT S.StoreID,S.StuffCount,S.BuyPrice,S.SalePrice,U.St uffID,U.StuffTitle,U.StuffBarcode,U.StuffGroup FROM StoreRegTable AS S INNER JOIN StuffTable AS U ON (S.StuffID = U.StuffID)'


حالا موقعی که DataSourceرو به DbGrid متصل میکنم ، فقط فیلدهای جدول اول رو نشون میده ولی به فیلدهای جدول دوم میتونم دسترسی داشته باشم.
به عنوان مثال با استفاده از کد زیر می تونم یک فیلد جدول دوم رو بخونم ولی این فیلد در Grid نشون داده نمیشه.



x:=Adoquery['StuffCount'];


به نظر شما مشکل از کجاست؟

hadisalahi2
چهارشنبه 13 مرداد 1389, 09:47 صبح
دوستان ما منتظر نظرات ارزشمند شما هستیم.
اصلا کی میدونه چطوری میشه فیلدهای دو تا جدول رو داخل DBGrid نشون داد. یا داخل ElhibDBGrid?

pezhvakco
چهارشنبه 13 مرداد 1389, 10:01 صبح
درود :
DbGrid به هر DataSource که وصل باشه، اطلاعات اون رو نمایش میده .
اگه DataSource رو به Adoquery متصل کرده باشی، حتما اطلاعات نمایش داده میشه .
در ضمن اگه شما برای DbGrid ستون تعریف کردی اون ها رو پاکن .

فکر خوش .

hadisalahi2
چهارشنبه 13 مرداد 1389, 18:35 عصر
این رو که خودم هم می دونستم
من هم همین کارها رو انجام دادم ولی عرض کردم نشون نمیده.
اگه میشه یک مثال برام قرار بدید

hadisalahi2
پنج شنبه 14 مرداد 1389, 09:49 صبح
دوستان هیچکدوم تا الان اصلا از دستور Join استفاده نکردن؟
اصلا چطور میشه فیلدهای دو تا جدول رو داخل DBGrid یا هر کامپوننت مشابه دیگه ای نشون داد؟

Felony
پنج شنبه 14 مرداد 1389, 10:36 صبح
براتون یه نمونه نوشتم ، از ضمیمه دریافت کنید .

pezhvakco
پنج شنبه 14 مرداد 1389, 11:22 صبح
اصلا چطور میشه فیلدهای دو تا جدول رو داخل DBGrid یا هر کامپوننت مشابه دیگه ای نشون داد؟

DBGrid به بک DataSource اتصال داره و اون DataSource به هر جدول و با کوئری که اتصال داشته باشه، اطلاعات اون رو نمایش میده .
حالا فرق نمی کنه اون کوئری چه کد دستوری اجرا کنه . فقط کافیه که درست اجرا بشه .
فکر خوش .

bmanfy
پنج شنبه 14 مرداد 1389, 14:53 عصر
بهتره يك نمونه از كارتون رو قرار بدين تا بشه راحت تر درباش تصميم گرفت .
موفق باشيد .

soft-c
شنبه 23 مرداد 1389, 22:27 عصر
سلام
احتمالا دو تافیلد هست که اسمشان یکی است برای همین نمی تونه نشان بده مگر اینکه دستوری که در adoquery می نویسی آن ado را true کنی و بعد به datasource ربطش بدی.
یعنی اگر ado query را true نکنی و فیلدهای دو جدول اسمهای یکسانی داشته باشند اطلاعات را کامل نشان نمی دهد .