iPhone sqlite准备错误

时间:2011-09-05 14:21:22

标签: iphone objective-c sqlite

我尝试在iPhone和所有其他工作上做一个插入语句,但我尝试这个,之后我尝试绑定值,但我得到错误21,似乎发生了因为stmt变量是在准备0x00之后(null我认为) 但不知道发生了什么

sqlite3 *database;
        sqlite3_open([pathDb UTF8String], &database);        
        sqlite3_stmt *stmt;

        NSString *insert = @"";
        if ([model.ident intValue] != -1)
        {
            insert = @"UPDATE Blubb SET Key=? WHERE Id = ?";
        }
        else
        {
            insert = @"INSERT INTO Blubb (Id, Field,KeyLastUpdate,SortNr) VALUES (?,NULL,date('now'), SELECT COUNT(*) + 1 FROM Connections)";
        }
        const char *insertStmt = [insert UTF8String];


        int result = sqlite3_prepare(database, insertStmt, -1, &stmt, NULL);

1 个答案:

答案 0 :(得分:2)

直接为SQLite使用C函数是一件痛苦的事...... 有没有考虑过使用包装纸?

自从我开始使用一个以来,我开始使用DB查询的问题少得多...... 以下是建议链接:

Best Cocoa/Objective-C Wrapper Library for SQLite on iPhone

希望有所帮助