0

sqlite データベースを更新しようとしていますが、このコードが機能しません。これの何が問題なのかを見つけるのを手伝ってください。

-(BOOL)StoreFavourite:(NSString*)fav :(int)DuaId
{
    NSString* mydbpath=[self pathfinder];

    const char *dbpath=[mydbpath UTF8String];
    if(sqlite3_open(dbpath,&database )==SQLITE_OK)
    {

       NSString *query = [NSString stringWithFormat:@"UPDATE Dua SET 
                       favourite=\'%@\' WHERE dua_id=%d ",fav,DuaId];

       const char *query_statement=[query UTF8String];

       if(sqlite3_prepare_v2(database, query_statement, -1, &statement, NULL)==SQLITE_OK)
       {
          while(sqlite3_step(statement) == SQLITE_DONE)
          {
              return YES;
          }
          sqlite3_finalize(statement);
       }
    }
    return YES;

 }
4

3 に答える 3

2

「mydbpath」を入力して確認してくださいNSLog。間違ったパスを指定したと思います。
また、使用してみてください:

NSString *query = [NSString stringWithFormat:@"UPDATE Dua SET favourite='%@' WHERE dua_id=%d ",fav,DuaId];  
于 2013-08-05T05:34:19.767 に答える