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

ریلود کردن متن از دیتابیس جدید


amirrezaasadi

سوال

سلام به دوستان عزیز.

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

منتها مشکل من اینه که وقتی دیتابیس جدید دانلود میشه متن ها همون متنای قبلی باقی میمونند و تا زمانی که برنامه بسته نشه و دوباره اجرا نشه متنای درون دیتابیس جدید رو نمایش نمیده. آیا کسی از دوستان کدی یا راهکاری رو میدونه که توسط اون بتونم متن جدید رو از دیتابیس جدید نمایش بدم بدون بستن و اجرای دوباره برنامه؟ ممنون میشم اگه راهنمایی کنید.

 

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

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

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

یادمه با کد زیر این مشکل حل میشد  :crazy:

Activity_Create(true)

اینو تو باتن آپدیت بزار 

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

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

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

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

یادمه با کد زیر این مشکل حل میشد  :crazy:

Activity_Create(true)

اینو تو باتن آپدیت بزار 

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

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

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

باید sql دوباره initialize بشه بعد از دانلود دوباره initialize کن

با سلام این کار رو هم کردم اینم کدمه:

 

که توی ساب جاب داون نوشتم ولی جواب نمیده. ممنون

Sub JobDone(Job As HttpJob)
ProgressDialogHide
 If Job.Success Then
  If Job.JobName = "update" Then
   Dim ou As OutputStream
   File.Delete(File.DirInternal,"sms.db")
   ou = File.OpenOutput(File.DirInternal,"sms.db",False)
   File.Copy2(Job.GetInputStream,ou)
   ou.Close
   ToastMessageShow("تازه سازی شد",False)
   Msgbox("برای دیدن مطالب جدید برنامه را دوباره اجرا کنید.","توجه")
   SQL1.Initialize(File.DirInternal,"sms.db",True)

	
   
  End If
 Else
 	ToastMessageShow("ارتباط با سرور میسر نیست",False)
 End If
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

تا جای که یادم هست درست کار میکرد 

یه اموزش متنی هست برای آپدیت دیتابیس (مال آقا شهاب نیستا) 

اونجا هم دوستان هم به این نتیجه رسیدن بودن که با همین کدی که دادم میشه بدون خروج از اپ آپدیت رو دید 

رفتم چک کردم تو لینکی که میدم پست34 رو نگاه کن

لینک

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

 

با سلام این کار رو هم کردم اینم کدمه:

 

که توی ساب جاب داون نوشتم ولی جواب نمیده. ممنون

Sub JobDone(Job As HttpJob)
ProgressDialogHide
 If Job.Success Then
  If Job.JobName = "update" Then
   Dim ou As OutputStream
   File.Delete(File.DirInternal,"sms.db")
   ou = File.OpenOutput(File.DirInternal,"sms.db",False)
   File.Copy2(Job.GetInputStream,ou)
   ou.Close
   ToastMessageShow("تازه سازی شد",False)
   Msgbox("برای دیدن مطالب جدید برنامه را دوباره اجرا کنید.","توجه")
   SQL1.Initialize(File.DirInternal,"sms.db",True)

	
   
  End If
 Else
 	ToastMessageShow("ارتباط با سرور میسر نیست",False)
 End If
End Sub

 

متنتو رو چی نشون میدی؟

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

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

با سلام دوستان عزیز

مرسی از دوستانی که بالا پاسخ دادن.

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

با تشکر از همه دوستان عزیز  با سپاس فراوان

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

بایگانی شده

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

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

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