رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

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


پست های پیشنهاد شده

سلام

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

آیا راهی هست!؟ 

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 58 دقیقه قبل، davod56 گفته است :

سلام

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

آیا راهی هست!؟ 

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

اینکار اصلا کار درستی نیس.بهتره برای همچنین کاری یک جدول داینامیک جدید ایجاد کنید  با تعدادی ستون مشخص

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در در 1396/01/16, 11:08:10، Farzad Sarseifi گفته است :

ینکار اصلا کار درستی نیس.

چرا؟ چه مشکلی داره؟

من میخوام در این ستون اطلاعاتی بریزم و بعد از طریق کوئری اون اطلاعات رو بخونم...

آیا با جدول داینامیک میشه این کار رو انجام داد... ؟

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

چرا؟ چه مشکلی داره؟

من میخوام در این ستون اطلاعاتی بریزم و بعد از طریق کوئری اون اطلاعات رو بخونم...

آیا با جدول داینامیک میشه این کار رو انجام داد... ؟

سلام دوست عزیز.

این کاری که شما میخواین انجام بدین عملا جایی استفاده نمیشه.اینکه ستون های یک جدول بخواد داینامیک باشه مخصوصا تو اندروید شما عملیات alter table رو انجام بدین که خیلی منابع رو استفاده میکنه و جزء عملیات هایی هست که رو پرفورمنس تاثیر زیادی میزاره از طرفی کاملا غیر منطقی هست که شما به ازای اون فیلد بخواین یک ستون اضافه کنید.البته اطلاعی ندارم که sqlite از alter table پشتیبانی میکنه یا نه.اگه نکنه که اصلا فکرشم نکنید چون باید یه جدول موقت بسازین همه اطلاعاتو ببرین تو اون جدول بعد جدول اصلیو پاک کنید بعد جدول جدیدو بسازین و اطلاعات اون جدول قدیمو بیارین تو این جدول و این مقدارو به ستون جدید اضافه کنید. به نظر خود شما این منطقی هستش؟؟؟؟

 

از یک جدول داینامیک (جدول واسط) میتونید استفاده کنید و این فیلد هارو به راهتی تو اون جدول ذخیره کنید هر زمان هم که احتیاج داشتین میتونید نشون بدین.

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

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

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • مطالب مشابه

    • توسط parsdc
      سلام به همه دوستان
      زمانی که سرچ میکنیم در دیتابیس sqlite در لیست نام فارسی، متاسفانه حروف گ چ پ ژ ک بدون ترتیب حروف برمیگردونه، در این مورد تحقیق ها و تست های زیادی کردم، و متوجه شدم کد اسکی این حروف از نظر عددی  نظم ترتیبی ندارد
      لیست حروف فارسی با کد اسکی رو ببینید
      192    ہ
      193    ء
      194    آ
      195    أ
      196    ؤ
      197    إ
      198    ئ
      199    ا
      200    ب
      201    ة
      202    ت
      203    ث
      204    ج
      205    ح
      206    خ
      207    د
      208    ذ
      209    ر
      210    ز
      211    س
      212    ش
      213    ص
      214    ض
      215    ×
      216    ط
      217    ظ
      218    ع
      219    غ
      220    ـ
      221    ف
      222    ق
      223    ك
      224    à
      225    ل
      226    â
      227    م
      228    ن
      229    ه
      230    و
       
      236    ى
      237    ي
       
      129    پ
      141    چ
      142    ژ
      152    ک
      144    گ

      حرف ک عربی 223 هست در جای خودش هست اما ک فارسی 152 هست از عدد حرف آ هم کمتر هست و در سرچ بالاتر از آ قرار میگیره
      سایر حروف مشکل دار هم به همین شکل پ چ ژ ک گ
      کد های utf8 هم بررسی کردم و این مشکل رو داره، واقعا نمیدونم ماکروسافت چیکار کرده که در دیتابیس های اون این مشکل وجود نداره، شما راه حلی اصولی براش نمیشناسید؟
    • توسط Javad Mahmoodi
      سلام
      من میخوام تمام اطلاعات ذخیره شده در برنامه ام را که در sqlite هست رو با زدن دکمه ارسال و بصورت یکجا به دیتابیس sql server ارسال کنم.
      کانکشن رو بین برنامم و sql server  که توسط کتابخانه jdbc هست ایجاد کردم.
      الان مشکلم این هست که چجوری تمام اطلاعات رو مستقیم و فقط با زدن دکمه ارسال به sql server ارسال کنم.
      ممنون میشم راهنمایی فرمایید(ترجیحاً با کد)
    • توسط jonoob
      سلام به همگی
      من دو تیبل دارم به نامهای
       id+start+end=data1
      id+id data1+name+price=data2
      در بالا نام تیبل و فیلدها را نوشتم
      همینطور که در فیلدها میبینید در تیبل دو ای دی تیبل یک هم نوشته شده میخواهم وقتی مثلا ایدی یک تیبل یک فراخوانی بشه اطلاعاتی که در تیبل دو هست و ای دی دیتاش یکی هست هم نمایش داده بشه
      متشکرم
    • توسط fahmide
      با سلام
      من توی پروژم یک ExpandableListView دارم و یه دیتابیس توی دیتابیس با استفاده از کد والد ، والد هرکدوم از فرزندان مشخص میشه. مسله اینه که کاربر امکان اضافه کردن والد و فرزند رو توی دیتابیس داره من هرکاری میکنم درست لود نمیشه اگه ممکنه راهنمایی کنین
    • توسط Omid Zakeri
      پایگاه داده SQLite یکی از راه های ذخیره داده های برنامه شما به صورت محلی در اندروید است. در این پایگاه داده من میخوام به شما یک راه ساده تر بهنشان دهم. با استفاده از Sugar ORM .

      به طور معمول با استفاده از SQLite در اندروید، مقدار زیادی از کد های boilerplate مورد نیاز بوده که زمان قابل توجهی صرف می شود. اما با Sugar ORM، همه ی شما نیاز به یک مدل (Bean) دارید:
      (Add a new note (save  : اضافه کردن Delete note  : حذف کردن Modify : تغییرات  
      در ابتدا کتابخانه زیر را اضافه کنید : 
      compile 'com.github.satyan:sugar:1.4'  
      تنظیمات زیر را وارد منیفست کنید:
      <application android:name="com.orm.SugarApp" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" > … <meta-data android:name="DATABASE" android:value="notes.db" /> <meta-data android:name="VERSION" android:value="1" /> <meta-data android:name="QUERY_LOG" android:value="true" /> <meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="com.grafixartist.noteapp" /> </application>  
       
      یک مدل (Bean) کلاس شما نیاز دارید که به صورت زیر باشد :
      public class Note extends SugarRecord { String title, note; long time; // Default constructor is important! public Note() { } public Note(String title, String note, long time) { this.title = title; this.note = note; this.time = time; } … // Getter setters here }  
      برای Create کردن کد زیر را وارد کنید : 
      Note note = new Note(title, desc, time); note.save(); برای Update کردن کد زیر را وارد کنید : 
       
      Note note = Note.findById(Note.class, id); note.title = “updated title here"; note.save();  
      برای  Delete کردن کد زیر را وارد کنید : 
       
      Note note = Note.findById(Note.class, id); note.delete(); برای بدست آوردن فهرست همه لیست ها :
      List<Note> notes = Note.listAll(Note.class); Query
      برای این کار 2  راه برای انجام این کار وجود دارد. بیایید مثال را مقایسه کنیم:
      استفاده از Raw Query :
      List<Note> notes = Note.findWithQuery(Note.class, "Select * from Note where name = ?", "mynote");  
      استفاده از  Query Builder :
       
      Select.from(Note.class) .where(Condition.prop("title").eq("mynote"), Condition.prop("description").eq("notedesc")) .list();  
  • فایل

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