View Full Version : کمک در درک یک tutorial در مورد SQLite
fshb_ 1370
پنج شنبه 05 اردیبهشت 1392, 12:57 عصر
سلام دوستان
من این لینک رو خوندم برای یادگیری SQLite
http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/
اما در متد addContact() چرا مقدار id رو set نمیکنه و به contentValues نمیده؟ من id رو primary key تعریف کردم . نمیشه که مقدار دهی نشه و null zبگیره.
در کلاس Contact چرا باید ی constructor ی داشته باشیم که دو تا ورودی رو مقداردهی میکنه. یعنی id رو مقداردهی نمیکنه. این اشتباه نیست؟
فک کنم این tutorial اشتباه توش زیاد داره. درسته؟
پیشاپیش مرسی دوستان
Nevercom
پنج شنبه 05 اردیبهشت 1392, 14:25 عصر
اگر id از نوع INTEGER AUTOINCREMENT باشه نیازی نیست مقدارش تعیین بشه و خودش به هر رکورد یه id منحصربفرد اختصاص میده
fshb_ 1370
سه شنبه 10 اردیبهشت 1392, 16:29 عصر
مرسی دوست عزیز
من این کار رو کردم، یعنی id که primary key تعریف شده است را INTEGER AUTOINCREMENT تعریف کردم اما برنامه compiler error داد و وقتی AUTOINCREMENT رو پاک کردم به درستی اجرا شد و به id به صورت auto یک مقدار به ترتیب از 1 برنامه اختصاص داد. دلیلش چیه؟ مگه نباید یا از نوع AUTOINCREMENT تعریف کنم و اگرنه وقتی در برنامه به id که primary key است در Insert کردن یک data مقداری اختصاص نمیدم برنامه error بده؟؟
Nevercom
سه شنبه 10 اردیبهشت 1392, 17:00 عصر
اگر در ساخت جدول مشکل داشتید توصیه می کنم از برنامه هایی مثل افزونه ی SQLite Manager برای فایرفاکس استفاده کنید
گمان می کنم این عبارت معتبر باشه: INTEGER PRIMARY KEY AUTOINCREMENT
به هرعنوان، هیچ نیازی نیست که همه ی فیلدها همزمان مقداردهی بشن، شما میتونید تعدادی از فیلدها رو مقداردهی کنید
اما از اونجایی که Primary Key نباید null باشه، اگر از عبارت INTEGER PRIMARY KEY استفاده کنید، بر طبق مستندات SQLite ، کلید Primary Key برابر با rowid میشه
از AUTOINCREMENT برای این استفاده می کنیم که اطمینان حاصل بشه که فیلد مقداری منحصربفرد داره (و با هر Insert مقداری به اون فیلد اختصاص داده میشه)
احتمالاً مشکل بخاطر اینه که شما از عبارت INTEGER AUTOINCREMENT بجای INTEGER PRIMARY KEY AUTOINCREMENT استفاده کردید
fshb_ 1370
چهارشنبه 11 اردیبهشت 1392, 16:01 عصر
دقیقا مشکل همین بود که توی ی toturial دیگه درستش دیدم. مرسی
این افزونهSQLite Manager چیه؟ میشه یکم بیشتر توضیح بدید.
چه جالب، یعنی حتی اگه من یه فیلد primary key رو مقدار ندم خودش ی مقدار(مقدار سطر)براش set میکنه.
بازم ممنون:)
Nevercom
چهارشنبه 11 اردیبهشت 1392, 19:29 عصر
SQLite Manager (https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/) افزونه ای هست که روی FireFox نصب میشه و با کمک اون می تونید دیتابیس های SQLite رو مدیریت کنید، می تونه در ایجاد کدهای SQL هم کمکتون کنه.
phpeproject.ir
چهارشنبه 11 اردیبهشت 1392, 19:37 عصر
این (http://www.4shared.com/office/erarplyF/978-0596521189_Using_SQLite.htm) پی دی اف رو بخونید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.