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

دادن لینک صفحه وب سایت به اطلاعات دیتابیس آنلاین


mamal00

سوال

با سلام دوستان،من یک دیتابیس آنلاین ساختم واون رو به b4a متصل کردم(اطلاعات دریک لیست ویو نمایش داده میشه) اما چجوری باید فیلد های جدیدی رو که در دیتابیس اضافه می کنم ودر لیست ویو نمایش داده میشه بهشون لینک صفحه وب بدم؟؟

یعنی فرضا یک صفحه اخبار هست و اخبار جدید رو که اضافه می کنم(لیستم تک خطیه) در واقع لینکی باشه به منبع خبر؟

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

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

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

خب بنده طبق دیتابیس افلاین مثال میزنم

خب شما فرض کنید توی دیتابیس 3تا فیلد یا ستون با این اسم ها دارید :

  •  id=  آیدی شماره رکورد که از 1 شروع میشه ( به ترتیب )
  •  Title=  موضوع یا سربرگ
  • Txt= این هم متن توضیحی (مثلا)

خب ما میاییم اول موضوع هارو میگیریم میریزم توی لیست ویو(مقدار بازگشتی هم id  رو میزاریم:

Dim Cur As Cursor
Cur = SQL.ExecQuery("SELECT *FROM tbl")
For i = 0 To Cur.RowCount - 1
 Cur.Position = i
  ListView1.AddSingleLine2(Cur.GetString("Title"),Cur.GetInt("id"))
 Next

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

یعنی روی هر کدوم که کلیک بشه id شو نشون میده.

 Sub ListView1_ItemClick(Position As Int , Value As Object)
   ToastMessageShow("Id Is : "& Value,False)
 End Sub
 

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

  Sub ListView1_ItemClick(Position As Int , Value As Object)
    Dim Cr As Cursor
	Cr = SQL.ExecQuery("SELECT * FROM WHERE id="&Value)
	Cr.Postion = 0
   ToastMessageShow("Body Is : "& Cr.GetString("Txt"),False)
 End Sub
 

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

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

موفق باشید

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

ببینید من فکر کنم سوالم رو بد مطرح کردم شایدم جواب شما رو متوجه نمیشم چون تازه کارم ،ولی فرض کنید من دارم از دیتابیس آنلاین چندتا فیلد توی لیست ویو میگیرم واین فیلد ها همون تیترهای اخبار برناممه،اما خوب وقتی من این فیلد های برنامم رو اضافه میکنم میخوام که وقتی که کاربر روش کلیک کرد بره به صفحه مورد نظر،یعنی این که اون فیلد دارای position باشه خوب من بصورت دستی که میتونم توی سورس برنامه بهش postion بدم حالا یا به یه اکتیویتی دیگه بره یا مثلا یک صفحه وب دیگه بره  ،اما وقتی برنامرو انتشار دادم چجوری فیلدهای جدیدی که اضافه میکنم position بگیره،ضمنا برنامه من متصل به دیتابیس آنلاین و آفلاینه،بازم ممنون میشم اگه پاسخ بدید

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

سلام

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

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

یعنی به این شکل :

Lv.AddSingleLine2
Lv.AddTwoLines2

اینجا شما میتونید شماره ردیف هر رکورد یا همون بهتر id  هر رکورد رو به عنوان مقدار بازگشتی ( Return Value )  واسش قرار بدید.

این Return Value  کار شمارو راحت میکنه.این راحتی کار توی استفاده از رویداد های لیست ویو هستش که اکثرا از ItemClick  استفاده می کنند.

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

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

اینم راهنمایی کلی.بازم متوجه نشدید بگید راهنمایی کنم

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

شما باید اطلاعات رو دریافت کنید و در دیتابیس آفلاین خودتون ذخیره کنید و بعد ID اخرین فیلد خودتون رو به سرور ارسال کنید مثلا 18 و در سمت سرور به وسیله کد PHP و کوئری اطلاعات 18 به بعد رو دانلودکنید

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

بایگانی شده

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

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

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