انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در sqlite (مشکل field های خالی در فرم مخصوص بروزرسانی) (برنامه نویسی اندروید)

مشکل در sqlite (مشکل field های خالی در فرم مخصوص بروزرسانی) (برنامه نویسی اندروید)

#1
سلام به همگی 
من یه table دارم که داخلش 7 تا ستون داره.. یه قسمتی گذاشتم واسه آپدیت table  از طریق ایدی  مشکل من اینه که وقتی میخوام آپدیت کنم اگه همه فیلد ها پر بشه که آپدیت به درستی انجام میشه اما اگه بعضی از فیلد ها خالی بمونه مقدارشون null در نظر گرفته میشه ک مشکل من اینجاست.  میخوام فیلدایی که خالیین همون مقدار قبلی واسشون در نظر گرفته بشه .. ممنون میشم کمک کنید
پاسخ

مشکل در sqlite (مشکل field های خالی در فرم مخصوص بروزرسانی) (برنامه نویسی اندروید)

#2
سلام.
هنگامی که در query (دستور SQl) از UPDATE استفاده کنیم، تنها مقدار ستون هایی (columns) که مشخص کرده ایم، تغییر داده می شوند و مقدار سایر ستون ها همانند قبل باقی می ماند.
UPDATE برای بروزرسانی اطلاعات ((یک ردیف (row) موجود)) به کار می رود (کلید شماره 329).

اما اگر برای ((ردیف های جدید)) که در جدول INSERT می کنید، می خواهید یک مقدار پیش فرض تعیین کنید، می توانید در ساختار جدول، برای ستون مورد نظرتان، مقدار Default تعیین کنید.

-------------------------------

اکنون این حالت را در نظر بگیریم که یک فرم داریم که باید کاربر اطلاعات یک ردیف از جدول را به روزرسانی کند (مثلا 5 ستون از 10 ستون یک ردیف را می خواهیم کاربر ویرایش کرده و تغییر بدهد)، در این موارد، ما ابتدا اطلاعات موجود در آن ردیف را دریافت کرده (همان 5 ستون) و در فرم قرار می دهیم، بعد کاربر، فیلدهای (fields) مورد نظر خود را تغییر می دهد و سپس در انتها، ما تمامی فیلدهای فرم (form) (آن 5 ستون) را در آن ردیف از جدول بروزرسانی می کنیم (با UPDATE). بنابراین جتی اگر کاربر اطلاعات فیلدی را تغییر ندهد، باز چون همان اطلاعات قبلی را در فرم داریم، دوباره همان اطلاعات در ردیف قرار داده می شود.
توضیحی که در بالا داده شده، شکل استاندارد تغییر اطلاعات یک ردیف از جدول، بر اساس فرم (form) می باشد. اما در صورتیکه ما یک فرم خالی به کاربر نمایش بدهیم و بعد تنها فیلدهایی که وی پر می کند، در جدول ثبت شود، در این حالت، نوشتن query سخت خواهد بود، چون معلوم نیست کاربر چه فیلدهایی را می خواهد تغییر بدهد و ما باید اطلاعات قبلی ردیف را هم حفظ کنیم (در اینجا راحتی روش بالا مشخص می شود).
اگر هم قصد دارید که اطلاعات به کاربر نمایش داده نشود (حتما یک فرم خالی را مشاهده کند)، می توانید هنگام ثبت اطلاعات جدید، مقدار مربوط به فیلدهای خالی (که کاربر تعیین نکرده) را از ردیف خوانده و بعد آنها را در query بنویسید (باید چک کنید کدام فیلدها خالی مانده).

Flower
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط goodgame

مشکل در sqlite (مشکل field های خالی در فرم مخصوص بروزرسانی) (برنامه نویسی اندروید)

#3
بسیار تشکر ادمین . مشکلم حل شد
پاسخ
 سپاس شده توسط admin ، شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان