私のコードは次のとおりです。
const char *sqlInsertString;
sqlite3_stmt *addStatement;
sqlInsertString=sqlite3_mprintf("insert into AnimalTable(name,propertyID,animalID,breed,dateofbirth,sex,notes,imageData) values" "('%s','%s','%s','%s','%s','%s','%s','%d')",nameString,propertyString,animalidString,breedString,dateofbirth,sexString,notesString,imageData);
if (sqlite3_open([sqlFile UTF8String],&database)==SQLITE_OK) {
sqlite3_prepare_v2(database, sqlInsertString, -1, &addStatement, NULL);
if (sqlite3_step(addStatement)==SQLITE_DONE) {
sqlite3_bind_blob(addStatement, 1, [imageData bytes], [imageData length], NULL);
sqlite3_finalize(addStatement);
NSLog(@"Data saved");
}
else
NSLog(@"Some Error occurred");
}
sqlite3_close(database);
私は何か間違ったことをしていると思います、それを理解することはできません。sqliteにデータを追加するたびに、エラーが発生したことを示しています。また、例外NSInternalInconsistencyExceptionが発生し、そのようなテーブルはありません:AnimalTable。しかし、AnimalTableは存在し、sqlmanagerでクエリを実行すると、正しく実行されます。