رفتن به مطلب

آپدیت دیتابیس بصورت آنلاین


sganji

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

با سلام و عرض خسته نباشید.

درخدمت شما هستم با یه آموزش متنی!

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

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

ابتدا کتابخانه HttpUtils2 را فعال کنید.

سپس در رویداد دکمه آپدیت بنویسید:


Sub btnUpdate_Click
Dim ht As HttpJob
ht.Initialize("update",Me)
ProgressDialogShow("updating")
ht.Download("http://www.example.com/databases/data.db")
End Sub

به جای http://www.example.com/databases/data.db آدرس دیتابیس خود را که قبلا در هاست خود آپلود کرده اید را بنویسید.

سپس یک ساب بنویسید:


Sub JobDone(Job As HttpJob)
ProgressDialogHide
If Job.Success Then
If Job.JobName = "update" Then
Dim ou As OutputStream
File.Delete(File.DirInternal,"data.db")
ou = File.OpenOutput(File.DirInternal,"data.db",False)
File.Copy2(Job.GetInputStream,ou)
ou.Close
ToastMessageShow("updated successfully",False)
End If
End If
End Sub

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

پایان آموزش

امیدوارم مورد استفاده همگان قرار گیرد.

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

  • پاسخ 59
  • ایجاد شده
  • آخرین پاسخ

سلام البته هیچ در اصل همون دیتابیس آفلاین محسوب میشه

دیتابیس آنلاین برای UPDATE باید از کوئری UPDATE در PHP استفاده کرد

این چیزی که شما میگید باید کل دیتابیس رو دانلود کنید و این خیلی زمان و حجم ممکنه ببره

توی کوئری UPDATE با صرف کردن حداکثر 1 کیلوبایت میاییم عملیات UPDATE رو انجام میدیم :-d

توی دوره آموزشی ساخت برنامه پیامکی با دیتابیس آنلاین + سیستم لایک دهی از کوئری UPDATE نیز استفاده شده است *hendoone*

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

سلام البته هیچ در اصل همون دیتابیس آفلاین محسوب میشه

دیتابیس آنلاین برای UPDATE باید از کوئری UPDATE در PHP استفاده کرد

این چیزی که شما میگید باید کل دیتابیس رو دانلود کنید و این خیلی زمان و حجم ممکنه ببره

توی کوئری UPDATE با صرف کردن حداکثر 1 کیلوبایت میاییم عملیات UPDATE رو انجام میدیم :-d

توی دوره آموزشی ساخت برنامه پیامکی با دیتابیس آنلاین + سیستم لایک دهی از کوئری UPDATE نیز استفاده شده است *hendoone*

بله میدونم

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

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

کی حال داره برای هرکوئری بشینه کدنویسی کنه...حالا شما حساب کنید مثلا کتاب اندرویدی باشه و عکس و متن هم قاطی باشن!

خب این روشی که من گفتم خیییییییلی آسون تره

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

برای هر کوئری چیه؟ :-d

یک بار کوئری UPDATE رو مینویسی بعدش با Tag و Sender به همشون نسبت میدی *herher*

فرض کنید برنامه ی شما یک کتاب بزرگ و پرمحتوا باشه . حجم دیتابیس شاید از 15 مگابایت هم بیشتر باشه

کاربر بیاد توی هر آپدیت فقط 15 مگابایت دیتابیس دانلود کنه؟ :-d

شرمنده من فقط نظرم رو گفتم *laugh2*

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

برای هر کوئری چیه؟ :-d

یک بار کوئری UPDATE رو مینویسی بعدش با Tag و Sender به همشون نسبت میدی *herher*

فرض کنید برنامه ی شما یک کتاب بزرگ و پرمحتوا باشه . حجم دیتابیس شاید از 15 مگابایت هم بیشتر باشه

کاربر بیاد توی هر آپدیت فقط 15 مگابایت دیتابیس دانلود کنه؟ :-d

شرمنده من فقط نظرم رو گفتم *laugh2*

خب به هر حال!

حرف حق که جواب نداره

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

با سلام خدمت جناب M.Izadi و سپاس از جناب sganji که زحمت کشیدن و این اموزش رو نوشتن

هر چند حرف جناب M.izadi هم منطقی به نظر میاد ... ولی ایکاش ایشون که نسبت به این روش انتقاد دارن و البته انتقاد به جایی هم هست

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

خیلی خیلی ممنون میشم اگر لطف کنید راهنمایی کنید

با سپاس فراوان...... یه دنیا ممنون .... هم از جناب M.izadi هم جناب sganji

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

البته این نکته هم نا گفته نماند که من هم منظورم دیتابیس آنلاین نبود که مثلا همیشه برای گرفتن اطلاعات به اینترنت نیاز داشته باشه

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

یا اینکه فقط قسمت هایی رو که تغییر کرده یا افزوده شده یا حذف شده رو آپدیت کنیم

ولی امیدوارم جناب m izadai و سایر دوستان لطف کنن و در مورد دوم راهنمایی کنن

سپاس

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

جناب آقای شروین تشکر بابت نظرتون

خب در این مورد میشه به این صورت عمل کرد ( فعلا تئوریش رو میگم ) :

ما میاییم اطلاعات رو توی دیتابیس آنلاین میزاریم ! یک دیتابیس آفلاین خالی هم توی برنامه داریم !

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

مثلا میبینه توی دیتابیس آفلاین 5 رکورد وجود داره اما توی دیتابیس آنلاین 100 رکورد ! خب پس به نتیجه میرسیم که دیتابیس اصلی برنامه

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

خب در هر صورت برنامه میاد 95 تا رکورد آخری که نداره رو دانلود و به دیتابیس آفلاین اضافه میکنه !

حالا سری بعد بدون اینکه نیازی به اینترنت باشه برنامه ما 100 رکورد داره !

دو هفته دیگه میخوایین برنامه رو آپدیت کنید ! به دیتابیس آنلاین 30 رکورد اضافه میکنید ... کاربر بررسی رو میزنه و برنامه میبینه که دیتابیس آنلاین 130 رکورد داره

ولی دیتابیس آفلاین 100 رکورد . پس 30 رکورد کم داره ! برنامه میاد 30 رکورد آخر رو دانلود میکنه و دوباره برنامه بروز میشه

این عمل همچنان ادامه دارد *like*

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

توضیحات تون خوب بود و این چیزی بود که البته می دونستم ولی چیزی از ارزش لطف شما کم نمی کنه

این در مورد دیتابیس ترتیبی هست اما یه وقت هست که ما ممکنه از دیتابیس اصلی که روی وب هست رکورد های 3 ، 7 ، 19 ، 45 و غیره رو تغییر بدیم

و البته 40 - 50 تا رکورد هم به آخرش اضافه کنیم اون موقع یه فکری دیگه باید واسش کرد

تئوری ش رو تقریبا می دونم .... تو عملی ش مشکل دارم .... هههههه....:-d

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

دوستان تا اونجا که من فهمیدم تمام این آپدیتها میاد رکورد اضافه میکنه

ولی اگر ما استراکچر دیتابیسمون تغییر کنه مثلا table اضافه بشه یا فیلد و ...

حالا چه باید کرد که اطلاعات کاربر از بین نره و دیتابیسش هم آپدیت بشه ؟

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

سلام

خب اینم شدنیه یه جورایی

شما مثلا میگید بنده میام مثلا ساختار دیتابیسمو عوض میکنم خب برنامه از کجا بفهمه؟ خب همونطور که میدونید ساختار دیتابیس تغییر کنه که شامل جدول میشه و ستون.

والا واسه جدول راهی الان به ذهنم نمیرسه ولی ستون رو میشه گفت انجام داد به چه صورت ؟

توی کلاس Cursor یک تابع ColumnCount هست کع تعداد ستون هارو بر میگردونه که ما میتونیم با این تابع مثلا اطلاعاتو به ستون هامون اضافه کنیم.

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

آفرین hamidssss ، حرف منم همین بود .... البته حالا نه استراکچر کلی در حد یه سری تغییرات جزیی و ویرایش و حذف و اضافه رکورد های میانی

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

میتونیم به صورت دستی از توی خود بیسیک یک table جدید با ویژگی های تعیین شده بسازیم :-d

مشکلی نداره اصلا *laie*

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

دوستی که ساختار دیتابیست رو عوض میکنی ...

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

موفق و پیروز باشید

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

با سپس از همه ی دوستان ولی ایکاش مثال یا نموننه کد هم می گفتید

مثلا همین قضیه اضافه شدن به رکوردها ی دیتابیس آفلاین از طریق دیتابیس آنلاین بدون دانلود کردن کل دیتاابیس

مممنون

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

  • 1 ماه بعد...

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

 

اگه میشه آموزش این نوع بروزرسانی که شما گفتید رو توی انجمن قرار بدید تا بقیه هم استفاده کنن

ممنون میشم اگه اینکارو برای من وبقیه دوستان انجام بدید

 

خب خیلیا با php و جی کوءری کار نکردن مثل خودم

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

با سلام و عرض خسته نباشید.

درخدمت شما هستم با یه آموزش متنی!

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

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

ابتدا کتابخانه HttpUtils2 را فعال کنید.

سپس در رویداد دکمه آپدیت بنویسید:

Sub btnUpdate_Click
Dim ht As HttpJob
ht.Initialize("update",Me)
ProgressDialogShow("updating")
ht.Download("http://www.example.com/databases/data.db")
End Sub
به جای http://www.example.com/databases/data.db آدرس دیتابیس خود را که قبلا در هاست خود آپلود کرده اید را بنویسید.

سپس یک ساب بنویسید:

Sub JobDone(Job As HttpJob)
ProgressDialogHide
 If Job.Success Then
  If Job.JobName = "update" Then
   Dim ou As OutputStream
   File.Delete(File.DirInternal,"data.db")
   ou = File.OpenOutput(File.DirInternal,"data.db",False)
   File.Copy2(Job.GetInputStream,ou)
   ou.Close
   ToastMessageShow("updated successfully",False)
  End If
 End If
End Sub
توی توضیح باید بهتون بگم ما اول اومدیم چک کردیم که آیا موفقیت آمیز بوده یا نه...سپس چک کردیم که آیا نام کار که در بالا در قسمت ht.Initialize مشخص کرده بودیم هست یا نه...سپس دیتابیس قبلی را حذف کردیم و دیتابیس دانلود شده را جایگزین آن کردیم.

پایان آموزش

امیدوارم مورد استفاده همگان قرار گیرد.

 

بهتر نیست کوثری های جدیدو بگیره داخل گوشی Execute کنه ؟

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

  • 1 ماه بعد...

با سلام و عرض خسته نباشید.

درخدمت شما هستم با یه آموزش متنی!

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

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

ابتدا کتابخانه HttpUtils2 را فعال کنید.

سپس در رویداد دکمه آپدیت بنویسید:

Sub btnUpdate_Click
Dim ht As HttpJob
ht.Initialize("update",Me)
ProgressDialogShow("updating")
ht.Download("http://www.example.com/databases/data.db")
End Sub
به جای http://www.example.com/databases/data.db آدرس دیتابیس خود را که قبلا در هاست خود آپلود کرده اید را بنویسید.

سپس یک ساب بنویسید:

Sub JobDone(Job As HttpJob)
ProgressDialogHide
 If Job.Success Then
  If Job.JobName = "update" Then
   Dim ou As OutputStream
   File.Delete(File.DirInternal,"data.db")
   ou = File.OpenOutput(File.DirInternal,"data.db",False)
   File.Copy2(Job.GetInputStream,ou)
   ou.Close
   ToastMessageShow("updated successfully",False)
  End If
 End If
End Sub
توی توضیح باید بهتون بگم ما اول اومدیم چک کردیم که آیا موفقیت آمیز بوده یا نه...سپس چک کردیم که آیا نام کار که در بالا در قسمت ht.Initialize مشخص کرده بودیم هست یا نه...سپس دیتابیس قبلی را حذف کردیم و دیتابیس دانلود شده را جایگزین آن کردیم.

پایان آموزش

امیدوارم مورد استفاده همگان قرار گیرد.

 

salam merci az amozeshet faghat ta jaei ke midonam to host nemishe db  upload kard.shayam man balad nistam ono yekam tozih midi

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

دیتابیست که با پسوند .db هستو تو هاستت آپلود میکنی مثل هر فایله دیگه ای که آپلود میکنی

http://s-asadi.ir/example.db

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

salam merci az amozeshet faghat ta jaei ke midonam to host nemishe db  upload kard.shayam man balad nistam ono yekam tozih midi

 

درود

دوست عزیز و گرامی

شما کسی رو اینجا دارید میبینید که Finglish تایپ کنه که شما نفر دومش باشید؟  :)

بند 2.1 قوانین انجمن رو مطالعه بفرمایید  :gol:

در صورت تکرار از انجمن اخراج خواهید شد

با تشکر

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

بایگانی شده

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

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

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

×
×
  • اضافه کردن...