آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

خطا هنگام حذف رکورد از لایبری SQLITE

enaderlou  9 سال پیش  9 سال پیش
0 0

با سلام و احترام

من از لایبری sqlite آقای کاشی زاده استفاده میکنم و خیلی هم عالیه و کارمو راه میندازه ولی برای حذف رکورد یه خطایی برخورد کردم که فکر میکنم بخاطر اشتباه در کوری منه

 db.executeQuery(sqlStr: "DELETE FROM tableName WHERE id=\(letId)") 

خطایی که میده اینه

 Database Error -> During: SQL Prepare
-> Code: 1 - SQL error or missing database
-> Details: no such function: Optional
 برای این سوال 4 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
کاووس خواجوی  9 سال پیش
0 0

let result = db.execute(sql:"DELETE FROM tableName WHERE id=\(letId)") 
0 0
من از لايبري sqlite آقاي كاشي زاده استفاده ميكنم . بنا براين فكر ميكنم از executeQuery استفاده شده لذا كدي كه شما ارسال كرديد جواب نخواهد داشت البته من هنوز تستش نكردم (9 سال پیش)
پاسخ به سوال 
enaderlou  9 سال پیش
0 0

 پاسخ صحیح

مشکل از من بود چون متغییر رو باید تبدیل میکردم به INT

db.executeQuery(sqlStr: "DELETE FROM tableName WHERE id=\(letId as! Int)")
پاسخ به سوال 
QUQU  9 سال پیش
+1 0

لزوما ربطی به تغییر به Int نداشته مشکلتون. شاید از قبل هم Int بوده ولی Optional ـ Int بوده. که توی این خط مشخص شده:

 
-> Details: no such function: Optional

کاری که شما کردین این ـ که متغیر رو Force Cast کردین به Int و مشکلتون حل شده. احتمالا به این حالت هم مشکلتون حل میشده:

 
db.executeQuery(sqlStr: "DELETE FROM tableName WHERE id=\(letId!)")
0 0
بله درست فرمودید با ! هم مشکلم حل شد (9 سال پیش)
+1 0
سعی کنین این مبحث Optional ها رو خوب یاد بگیرین و تا میتونین راجبشون مطالعه کنین چون خیلی توی زبان Swift کاربرد دارن. (9 سال پیش)
پاسخ به سوال 
enaderlou  9 سال پیش
0 0

من يه مشكل ديگه هم دارم كه توي پست جديد مجددا قرار ميدم

وقتي كاراكتر فارسي ثبت ميكنم در زمان فراخواني در تيبل ويو نشون نميده ولي وقتي انگليسي ثبت ميشه نشون ميده

البته در سيموليتور اينطور نيست و همه چيز درسته ولي در آيفون اين اتفاق ميفته 

به خود فايل db در آيفون چطور ميشه دسترسي داشت ؟ تا ببينم كلا داده اي ذخيره شده يا نه و در مرحله بعد ببينم چرا در تيبل ويو نشون نميده؟


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .