问题描述
- SQLite添加项目到数据库
- 动态添加项目到SQlite数据库失败:
-(void) addPatientToDatabase:(Patient *)newPatient { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory NSUserDomainMask YES); NSString *documentsPath = [paths objectAtIndex:0]; NSString *filePath = [documentsPath stringByAppendingPathComponent:@""cities.sqlite""]; sqlite3 *database; if(sqlite3_open([filePath UTF8String] &database) == SQLITE_OK) { const char *sqlStatement = ""insert into patients (firstName surname dob homeNumber mobileNumber email address image) VALUES (? ? ? ? ? ? ? ?)""; sqlite3_stmt *compiledStatement; if(sqlite3_prepare_v2(database sqlStatement -1 &compiledStatement NULL) == SQLITE_OK) { sqlite3_bind_text(compiledStatement 1 [newPatient.patientName UTF8String] -1 SQLITE_TRANSIENT); sqlite3_bind_text(compiledStatement 2 [newPatient.patientSurname UTF8String] -1 SQLITE_TRANSIENT); sqlite3_bind_text(compiledStatement 3 [newPatient.patientDoB UTF8String] -1 SQLITE_TRANSIENT); sqlite3_bind_text(compiledStatement 4 [newPatient.patientHomeNumber UTF8String] -1 SQLITE_TRANSIENT); sqlite3_bind_text(compiledStatement 5 [newPatient.patientMobileNumber UTF8String] -1 SQLITE_TRANSIENT); sqlite3_bind_text(compiledStatement 6 [newPatient.patientEmail UTF8String] -1 SQLITE_TRANSIENT); sqlite3_bind_text(compiledStatement 7 [newPatient.patientAddress UTF8String] -1 SQLITE_TRANSIENT); NSData *dataForPicture = UIImagePNGRepresentation(newPatient.patientPicture); sqlite3_bind_blob(compiledStatement 8 [dataForPicture bytes] [dataForPicture length] SQLITE_TRANSIENT); } if(sqlite3_step(compiledStatement) == SQLITE_DONE) { sqlite3_finalize(compiledStatement); } } sqlite3_close(database);}
如果在if语句中有断点就添加一些断点和记号:
if(sqlite3_step(compiledStatement) == SQLITE_DONE) {
但是没有挑选,谢谢。
时间: 2024-10-05 05:52:48