مشکل با دیتابیس (حل شد)
سلام استاد
من طبق این دستور فایل دیتابیس رو داخل اپدلیگیت ایجاد میکنم:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
let db = DB.getInstance()
let columns = [
"id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT",
"name TEXT NOT NULL",
"text TEXT NOT NULL",
]
db.createTable("contact", withColumnNamesAndParam: columns)
و در کلاس ویوکنترلر طبق این دستور داخلش اطلاعات میریزم
let db = DB.getInstance()
db.executeChange("INSERT INTO contact (name, text) VALUES('ahmad', 'alakitext'")
فایل دیتابیس ایجاد میشه ولی حجمش ۰ کیلوبایت هست. و با برنامه TextEditor که بازش میکنم داخلش خالیه. و از توی خود Xcode که با دستور executeQuery کوری میگیرم ازش. داخل کنسول این رو برام چاپ میکنه
Database Error -> During: SQL Prepare -> Code: 1 - SQL error or missing database -> Details: near "FROM": syntax error nil
تصویر:

بعد از درج دستور executeChange هم هیچ خطایی نمیده...
فایل هم چندبار حذف کردم دوباره ایجاد میشه ولی خالی. حجم فایل هم ۰ کیلوبایت هست...
از اینکه همش مزاحم شما میشم شرمسارم :(
استاد خودم به این خط هم خیلی مشکوکم.
"id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT",
به یک مورد جالب برخوردم. اینجا میگم شاید روزی گره گشای کسی دیگه بشه
درحین کار با دیتابیس متوجه شدم که بعد از اضافه کردن چند ستون به جدول اصلی دیتابیس. مجددا از کار می افته !
با بررسی مرحله به مرحله متوجه شدم که من نام یکی از ستون های دیتابیس رو "limit" قرار میدادم. البته از روی عمد. و بعد از کلنجارهای فراوان و تغییر نام limit به limits مشکل برطرف شد ! گویا از هر اسمی هم نمیشه بعنوان نام برای ستون های جدول استفاده کرد ! البته این تجربه شخصی من بود و براش هیچ رفرنسی ندارم.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .