fmdb executeUpdate завершается ошибкой - PullRequest
3 голосов
/ 19 февраля 2012

Что я делаю не так?Это очень простое утверждение, но не удалось выяснить, что вызывает его сбой

    FMDatabase *db = [FMDatabase databaseWithPath:appDelegate.databasePath];
    [db open];
        isSuccess = [db executeUpdate:@"INSERT INTO notes (title, comment, fk) values (?, ?, ?);", title, comment, fkID];

exception.name = NSInvalidArgumentException, exception.reason = - [__NSCFString comment]: нераспознанный селектор, отправленный экземпляру 0x68a93f

Примечание.ч

#import <Foundation/Foundation.h>

@interface Note : NSObject

@property (strong, nonatomic) NSString *title;
@property (strong, nonatomic) NSString *comment;
@property (nonatomic) int fkID;

Ответы [ 2 ]

9 голосов
/ 19 февраля 2012

Взгляните на использование FMDB .

[db executeUpdate:@"INSERT INTO notes VALUES (?,?,?)", title, comment, [NSNumber numberWithInt:fkID]];  

Все аргументы, предоставленные методу -executeUpdate: (или любому из вариантов, которые принимают va_list в качестве параметра), должны быть объектами.

0 голосов
/ 20 февраля 2012

Вот что я в итоге сделал.

    NSString *sql = [NSString stringWithFormat:@"INSERT INTO notes (title, comment, fkid) values ('%@', '%@', %i)", title, comment, fkid];
    isSuccess = [db executeUpdate:sql];

Работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...