رفتن به مطلب
  • 0

گرفتن عنوان از یک ستون دیتابیس با وجود 2 جدول


mahfelsoft

سوال

دوستان شاید عنوان مناسبی انتخاب نکرد باشم اما چیز به ذهنم نرسید ..

ببینید شاید این سوال خیلی ساده باشه اما الان یه مقداری قاطی کردم برای همین می پرسم .

 

ببینید من دو تا جدول دیتابیس دارم که توی یکیش فهرست نوشتم و توی یکی دیگه اش متون رو نوشتم . حالا من کد نوشتم که وقتی روی فهرست جدول اول کلیک شد متون مورد نظرش رو در جدول دوم نمایش بده( توی اکتیویتی دیگه )

 

حالا میخوام اون فهرستی که روش کلیک شده متنش رو در اکتیویتی متون توی یه لیبل نمایش بدم . امام کدش یادم رفته . 

اینکه چطور اون عنوان رو که توی فهرست روش کلیک کردم و متنش بازشده بگیرم و در اکتیویتی بعدی نمایش بدم رو فراموش کردم .

لینک ارسال
به اشتراک گذاری در سایت های دیگر

10 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

این ساختار ...

 

 

حالا سوال من اینه که توی اکتیویتی دوم که ستون matn نشون میدم . میخوام item ها رو از جدول اول هم نمایش بدم . همین ( نمایش متون رو خودم نوشتم فقط همون عنوان و میخوام ببینم چطور نمایش بدم ) من برای نمایش متون اینجوری نوشتم : 

	cursur1 = Bank.ExecQuery("SELECT * FROM tbl1 WHERE fasl="&Home.meghdar)

Untitled.jpg

لینک ارسال
به اشتراک گذاری در سایت های دیگر

همه ی آیتم هارو؟

یا فقط آیتم مربوط به 4 متن اول

کاری نداره که دلاور

SELECT * FROM tbl1 WHERE id = meghdar

بعدش به همین ترتیب که متن رو میگیرید
اسم ستون رو میدید به cur.getString و میریزید توی لیبل

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 2 ساعت قبل، شهاب اسکندری گفته است :

همه ی آیتم هارو؟

یا فقط آیتم مربوط به 4 متن اول

کاری نداره که دلاور

SELECT * FROM tbl1 WHERE id = meghdar

بعدش به همین ترتیب که متن رو میگیرید
اسم ستون رو میدید به cur.getString و میریزید توی لیبل

 

ببینید من به صورت مجزا میدونم چطور عنوان رو بگیرم . بله کاری نداره .

اما مسئله اینحاست که من توی صفحه متن یه بار کد برای cursur نوشتم به این ترتیب :

cursur1 = Bank.ExecQuery("SELECT * FROM tbl2 WHERE fasl="&Home.meghdar)

این کرسور میاد از توی جدول 2 اون مطالبی رو که مربوط به فصل اول (آیتم) اول هستن رو میگیره . 

من میخوام علاوه بر این آیتم مربوطه رو هم از جدول اول بگیرم و در همین صفحه نمایش بدم . 

نمی تونم که دو تا کرسور تعریف کنم .  ... 

این کد select رو که یه بار برای متن ها نوشتم . برای عناوین چیکار کنم .

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

عزیزم شما اول یه بار این عنوانت رو بگیر

بعد توی همون کورزور، برای بار دوم ور دار و متنت رو بگیر

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام معمولا براي اينكار توصيه ميشه از يك جدول استفاده بشه چون در غير اين صورت تصميم گيري ها سخت خواهد شد ! 

ولي براي ديتابيس هاي چند جدولي كوئري ها به اين شكل نوشته ميشه : 

Select tbl1,tbl2 where tbl1.id=tbl2.id

اين كوئري مياد و جايي كه فيلد آي دي توي جدول اول برابر هست با فيلد آي دي توي جدول دوم رو برابر قرار ميده 

البته اين يه نمونه بود كه خدمتتون گفتم 

شما با توجه به ستون ها و جداولتون ميتونيد به همين شكل عمل كنيد ! 

موفق باشيد 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

درسته . اما مسئله اینجاست که من چون فصل بندی کردم کدم اینطوریه 

	cursur1 = Bank.ExecQuery("SELECT * FROM tbl1,tblmatn WHERE fasl="&Home.meghdar)

[وب ما توی این کد گفتیم در هر دو تا جدول جایی که فیلد fasl برابر بود با home.meghdar بیا کاری انجام بده .

اما مشکل اینه که ما توی جدول 1 فیلد fasl داریم اما توی جدول 2 که نداریم . برای همین برنامه فورس کلوز میشه

 

اینوو باید چیکار کرد . راه دیگه ای نیست ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

شما توی جدول اولت یه آی دی برای هر مطلب داری

و توی جدول دومت هم ، همون آی دی باید تکرار شده باشه

مثلا اگر مطلبی هست با آی دی 1 و یه سری محتوا هم در جدول دومت داری براش، باید یه ستون گذاشته شده باشه و توش 1 نوشته شده باشه، باید متوجه بشی که هر متن، مربوط به کدوم مطلب از جدول اولت هست

برای مثال میگم ، در جدول اول، ای دی مطلبی به اسم "انجمن ما" هستش 3

وقتی که کاربر روی انجمن ما کلیک کرد، شما 3 رو ذخیره میکنید توی یه متغیر برای مثال متغیری به اسم meghdar

وقتی به اکتیویتی بعدیتون میرید، حالا باید متن رو بگیرید(البته با دید ساخت کتاب من دارم میگم بهتون، چیزی در مورد کار شما نمیدونم)

حالا توی جدول دوم، اومدید و یه ستون گذاشتید مثلا به اسم titr_id و آی دی که توی جدول اول بود قرار دادید توش

مثلا برای متن مربوط به انجمن ها، titr_id برابر با 3 هستش

کوئری انتخابش هم راحته

Select * from tbl2 where titr_id = 3

یا

cur = sql.execquery("SELECT * FROM tbl2 WHERE titr_id = " & main.meghdar)

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بله این رو که میدونم . خودم هم همینطوری کد نوشتم و با این قسمت اصلا مشکلی ندارم .

ببینید توی جدول اول یه عنوان هست و یه آیدی .

خوب وقتی روی اون عنوان کلیک میشه از توی جدول دوم یه لیست (شامل چند آیتم ) رو که به همهشون آی دی 1 دادم برای اون عنوان نمایش میده . حالا هر عنوان از جدول اول شامل چند آیتم در جدول دومه ( یه حالت فصل بندی داره )

 

من برای این کار مثلا اگه آی دی اون عنوان در جدول اول 3 باشه در جدول دوم جلوی همه آیتم هاش نوشتم 3 . که بدونه این جند آیتم مربوط به اون عنوانن و مطلبشون رو بیاره .

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 4 ساعت قبل، mahfelsoft گفته است :

درسته . اما مسئله اینجاست که من چون فصل بندی کردم کدم اینطوریه 


	cursur1 = Bank.ExecQuery("SELECT * FROM tbl1,tblmatn WHERE fasl="&Home.meghdar)

[وب ما توی این کد گفتیم در هر دو تا جدول جایی که فیلد fasl برابر بود با home.meghdar بیا کاری انجام بده .

اما مشکل اینه که ما توی جدول 1 فیلد fasl داریم اما توی جدول 2 که نداریم . برای همین برنامه فورس کلوز میشه

 

اینوو باید چیکار کرد . راه دیگه ای نیست ؟

ساختار ديتابيستون رو قرار بديد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

در 41 دقیقه قبل، mahfelsoft گفته است :

بله این رو که میدونم . خودم هم همینطوری کد نوشتم و با این قسمت اصلا مشکلی ندارم .

ببینید توی جدول اول یه عنوان هست و یه آیدی .

خوب وقتی روی اون عنوان کلیک میشه از توی جدول دوم یه لیست (شامل چند آیتم ) رو که به همهشون آی دی 1 دادم برای اون عنوان نمایش میده . حالا هر عنوان از جدول اول شامل چند آیتم در جدول دومه ( یه حالت فصل بندی داره )

 

من برای این کار مثلا اگه آی دی اون عنوان در جدول اول 3 باشه در جدول دوم جلوی همه آیتم هاش نوشتم 3 . که بدونه این جند آیتم مربوط به اون عنوانن و مطلبشون رو بیاره .

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

عنوانش رو هم میخوای نمایش بدی؟

خوب شما اون آی دی مثلا 3 رو برداشتی دیگه

حالا برو از جدول اولت، اونی که ای دی 3 داره رو نمایش بده

برای این کار

select * from tbl1 where id = 3

نیازی هم نیست عنوان رو از جدول بخونی

توی کد نویسیت با لیست ویو یا مولتی پنلت ، بیا متن لیبلی که روش کلیک شده رو بگیر

بریز تو یه متغیر استرینگ مثلا meghdar2 و بعد نشونش بده

 

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

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...