Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新iPhone SQLite数据库_Iphone_Sql_Sqlite_Sql Update - Fatal编程技术网

更新iPhone SQLite数据库

更新iPhone SQLite数据库,iphone,sql,sqlite,sql-update,Iphone,Sql,Sqlite,Sql Update,我想使用SQLite更新查询来更新iPhone中的数据库 有谁能提供代码给我如何做到这一点吗?给定一个已经打开的数据库: + (BOOL)UpDateGetAvailableContentObjects:(NSMutableDictionary*)availableReportsDict { //The following two lines of code are sure to be called because this method has to be called.

我想使用SQLite更新查询来更新iPhone中的数据库


有谁能提供代码给我如何做到这一点吗?

给定一个已经打开的数据库:

+ (BOOL)UpDateGetAvailableContentObjects:(NSMutableDictionary*)availableReportsDict

{   
    //The following two lines of code are sure to be called because this method has to be called.  
    //So these two lines will set the static database variable for use in future as well in add, delete, update functions.

htmlReportAppDelegate *appDelegate = (htmlReportAppDelegate *)
[[UIApplication sharedApplication] delegate];

database = appDelegate.database;

const char *sqlStatement = "insert into 

GetAvailableContentObjectsTable(contentID,id,lastUpdate,name,typeid,subpages) Values(?,?,?,?,?,?)";

int success;

if(sqlite3_prepare_v2(database, sqlStatement, -1, &get_statement, NULL) == SQLITE_OK) 

{


sqlite3_bind_text(get_statement, 1, [[availableReportsDict valueForKey:@"pages"] UTF8String], -1, SQLITE_TRANSIENT);

sqlite3_bind_text(get_statement, 2, [[availableReportsDict valueForKey:@"id"] UTF8String], -1, SQLITE_TRANSIENT);

sqlite3_bind_text(get_statement, 3, [[availableReportsDict valueForKey:@"lastUpdate"] UTF8String], -1, SQLITE_TRANSIENT);

sqlite3_bind_text(get_statement, 4, [[availableReportsDict valueForKey:@"name"] UTF8String], -1, SQLITE_TRANSIENT);

sqlite3_bind_int(get_statement, 5, [[availableReportsDict valueForKey:@"typeid"]intValue]);

sqlite3_bind_int(get_statement, 6, [[availableReportsDict valueForKey:@"subpages"]intValue]);


success = sqlite3_step(get_statement);


if (success == SQLITE_ERROR) {

NSAssert1(0, @"Error: failed to insert into the database with message '%s'.", sqlite3_errmsg(database));

}

}

else {

NSAssert1(0, @"Error: failed to prepare statement with message '%s'.", sqlite3_errmsg(database));

}

// Release the compiled statement from memory

sqlite3_finalize(get_statement);

get_statement = nil;

return success;

}
static sqlite3_stmt *update_progress_statement = nil;

- (void) setProgress:(int)newProgress forKey:(int)key {
    if (update_progress_statement == nil) {
        const char *sql = "UPDATE progress SET value = ? WHERE key = ?";
        if (sqlite3_prepare_v2(database, sql, -1, &update_progress_statement, NULL) != SQLITE_OK) {
            NSLog(@"Error: failed to prepare update_progress_statement with message '%s'.",sqlite3_errmsg(database));
            return;
        }
    }
    sqlite3_bind_int(update_progress_statement, 1, newProgress);
    sqlite3_bind_int(update_progress_statement, 2, key);
    int success = sqlite3_step(update_progress_statement);
    if (success == SQLITE_ERROR){
        NSLog(@"Error: failed to update update_progress_statement with message '%s'.", sqlite3_errmsg(database));
    }
    sqlite3_reset(update_progress_statement);
}

谢谢Vincent,当我更改TextFiedld中的数据并希望使用您的代码进行更新时,您是否可以让我知道如何使用它来更新字段。如何做到……请帮助我……我是否需要创建一本词典,或者只需向我提供全部代码,或者您甚至可以通过电子邮件发送给我sabby3861@rediff.com