نمایش نتایج 1 تا 40 از 457

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

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    آموزش : کار با دیتابیس SQLite، ساختن و استفاده از دیتابیس آماده

    سلام


    این مطلب در سال ۱۳۹۲ نوشته شده، آموزش کامل‌تر و جامع‌تری رو داریم تهیه میکنیم که میتونید در آدرس‌های زیر مطالعه کنید.


    بخش اول: آشنایی با دیتابیس - ساخت جدول و وارد کردن اطلاعات به جدول

    بخش دوم: خواندن اطلاعات از جدول و استفاده از اونها


    بخش سوم: آپدیت و حذف کردن اطلاعات درون جدول


    بخش چهارم: پیاده سازی دیتابیس پیشرفته اندروید با استفاده از کلاس ها


    بخش پنجم: پیاده سازی گام به گام نمونه پروژه دیتابیس پیشرفته

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

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

    توی این پست ابتدا ساخت دستی دیتابیس و سپس کار با دیتابیس رو یاد میگیرید

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


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

    واقعیت اینه که من از همون اول نتونستم با پیچیدگی کلاس DataBaseHelper ارتباط خوبی برقرار کنم ، به همین خاطر خیلی ساده و ابتدایی میخوام کار با دیتابیس رو بدون پیچیدگی آموزش بدم
    باشد که خدا از ما راضی باشد

    برای دیتابیس چند تا پارامتر داریم ، یکی شیء دیتابیس که اینطوری تعریف میشه

    SQLiteDatabase mydb;

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

    private static String DBNAME = "PERSONS";    // THIS IS THE SQLITE DATABASE FILE NAME.


    بعد نام جدول یا جدول های دیتابیس رو برای استفاده تعریف میکنید ، اگر با مفهوم جدول آشنا نیستید باید بگم بخشی از دیتابیس هست که شما می تونید اطلاعات مربوط به یک موضوع یا اصطلاحا موجودیت خاص رو ذخیره کنید

    private static String TABLE = "MY_TABLE";       // THIS IS THE TABLE NAME


    خب تا اینجا شما هیچ کار نکردید ، فقط اطلاعات دیتابیس رو برای استفاده مشخص کردید
    حالا با این کد ما یک دیتابیس با اسمی که در بالا مشخص کردیم رو درست میکنیم و اگر این دیتابیس قبلا وجود داشت بازش میکنیم تا ازش برای ورود یا خوندن اطلاعات استفاده کنیم

    mydb = openOrCreateDatabase(DBNAME, Context.MODE_PRIVATE,null);


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

    ساخت جدول در دیتابیس

    خب حالا دیتابیس ما برای استفاده آماده ست ، الان نیاز به یک جدول با مشخصات مورد نظرمون برای ثبت اطلاعات داریم ( دیتابیس میتونه دارای چندین جدول باشه ، و هر جدول میتونه به ازای هر مشخصه یک ستون داشته باشه که باید نوع اون رو تعریف کنیم )
    مثلا اگر شما میخواین اطلاعات یک دانش آموز رو ذخیره کنین ، ممکنه به این ترتیب جدول رو بسازید
    ستون شماره دانش آموزی ، ستون نام ، نام خانوادگی ، معدل
    هر جدول باید یک ستون داشته باشه که مقدار اون تکراری نباشه (primary key) ، اگر همچین مشخصه ای نداشتین میتونین یک ستون به اسم ID بسازید و بذارید که خود sqlite اون رو مقدار بده

    mydb.execSQL("CREATE TABLE IF  NOT EXISTS "+ TABLE +" (ID INTEGER PRIMARY KEY, NAME TEXT, PLACE TEXT);");


    خب جدول ما درصورتی که وجود نداشته باشه ساخته میشه ( دقت کنید اول اسم ستون ، بعد نوع محتویات ستون مثلا AGE INTEGER )

    اگر کارتون با دیتابیس تموم شد حتما اون رو با کد زیر ببندید

    mydb.close();


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

    وارد کردن اطلاعات در جدول ( از طریق کد )

    حالا اگر خواستید اطلاعات رو وارد جدول کنید ، اگر دیتابیس بسته ست بعد از باز کردن اون از کد زیر استفاده میکنیم

    mydb = openOrCreateDatabase(DBNAME, Context.MODE_PRIVATE,null);
    mydb.execSQL("INSERT INTO " + TABLE + "(NAME, PLACE) VALUES('یک دو سه','امتحان')");
    mydb.close();


    اینجا ما دو تا ستون NAME و PLACE رو مقدار دادیم ، و همونطور که دقت میکنید ID رو مقدار ندادیم تا خود Sqlite مقدار اون رو از یک هر دفعه اضافه کنه به صورت اتوماتیک ( اگر مقدار ستون primary key تکراری باشه خطا میگیرید )

    کار با دستورات UPDATE و DELETE رو توی این پست میتونید مشاهده کنید

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

    خواندن اطلاعات از دیتابیس

    حالا میخوایم اطلاعات رو از جدول بخونیم
    برای این کار از یک شیء Cursor استفاده میکنیم که اطلاعات جدول رو داخل خودش نگه میداره
    ابتدا باید قسمت های مورد نیاز از جدول رو داخل Cursor بریزیم

    mydb = openOrCreateDatabase(DBNAME, Context.MODE_PRIVATE,null);
    Cursor allrows = mydb.rawQuery("SELECT * FROM "+ TABLE, null);


    ما تو این کد با * تمام ستون های جدول رو به ترتیب داخل cursor ریختیم
    در صورت نیاز میتونید فقط چند ستون رو انتخاب کنید تا کارتون راحت تر باشه
    و میتونید ردیف هایی رو انتخاب کنید که یک شرط خاص رو داشته باشند ( مثلا دانشجویان با معدل بالای 16 )
    اینا رو اگر نمیدونید یا برید دنبالش بگردید ، یا بپرسید براتون مثال بزنم ، چون به SQL ربط داره نه اندروید

    خب حالا اطلاعات بدست اومده توی Cursor رو میشه به این ترتیب از اول تا آخر استفاده کرد
    مثلا ما این اطلاعات رو داخل آرایه میذاریم، یا میشه اطلاعات رو توی textView نمایش داد ( این دست خود شماست )

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

    NAME = new String[allrows.getCount()];


    و ریختن اطلاعات توی آرایه :


    int i = 0;
    if(allrows.moveToFirst()){
    do{
    ID[i] = allrows.getInt(0);
    NAME[i] = allrows.getString(1);
    PLACE[i] = allrows.getString(2);
    i++;
    }
    while(allrows.moveToNext());
    }
    allrows.close();
    mydb.close();


    بعد از خوندن اطلاعات از cursor هم باید حتما اون رو مثل دیتابیس بندید

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

    خب تبریک میگم شما یاد گرفتید خیلی ساده اطلاعات رو در دیتابیس ذخیره کنید و از دیتابیس بخونید
    اگر نیاز به توضیح بود در خدمتم
    دکمه تشکر هم که اون پایین هست دیگه
    آخرین ویرایش به وسیله poorman : سه شنبه 05 اردیبهشت 1396 در 14:57 عصر

تاپیک های مشابه

  1. آموزش کار با دیتابیس در C#‎‎
    نوشته شده توسط mohammadsalehi1385 در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 4
    آخرین پست: چهارشنبه 09 دی 1394, 14:35 عصر
  2. آموزش: آموزش نصب qt در ویندوز به زبان ساده
    نوشته شده توسط chikar در بخش برنامه نویسی در محیط QT و هم خانواده هایش
    پاسخ: 0
    آخرین پست: دوشنبه 25 آذر 1392, 23:26 عصر
  3. آموزش مقدماتی تا پیشرفته PHP با زبان ساده
    نوشته شده توسط ehsannasri251 در بخش PHP
    پاسخ: 8
    آخرین پست: یک شنبه 03 آذر 1392, 10:55 صبح
  4. سوال: مشکل در کار با دیتابیس sqlite در سیستم دیگر
    نوشته شده توسط kingtak در بخش C#‎‎
    پاسخ: 9
    آخرین پست: دوشنبه 30 بهمن 1391, 13:29 عصر
  5. سوال: درخواست آموزش کامل کار با دیتابیس در vb.net
    نوشته شده توسط maminb در بخش VB.NET
    پاسخ: 2
    آخرین پست: پنج شنبه 17 دی 1388, 20:48 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •