Selaa lähdekoodia

Changed FMDatabase's "- (BOOL)update:(NSString*)sql error:(NSError**)outErr bind:(id)bindArgs, ... " to "- (BOOL)update:(NSString*)sql withErrorAndBindings:(NSError**)outErr, ..." as the previous method didn't actually work as advertised in the way it was written. Thanks to @jaekwon for pointing this out.

August Mueller 14 vuotta sitten
vanhempi
commit
a3498a31c3
4 muutettua tiedostoa jossa 12 lisäystä ja 4 poistoa
  1. 1 0
      CHANGES_AND_TODO_LIST.txt
  2. 1 1
      src/FMDatabase.h
  3. 4 2
      src/FMDatabase.m
  4. 6 1
      src/fmdb.m

+ 1 - 0
CHANGES_AND_TODO_LIST.txt

@@ -5,6 +5,7 @@ If you would like to contribute some code- awesome!  I just ask that you make it
 
 2011.07.14:
     Added methods for named parameters, using keys from an NSDictionary (Thanks to Drarok Ithaqua for the patches!)
+    Changed FMDatabase's "- (BOOL)update:(NSString*)sql error:(NSError**)outErr bind:(id)bindArgs, ... " to "- (BOOL)update:(NSString*)sql withErrorAndBindings:(NSError**)outErr, ..." as the previous method didn't actually work as advertised in the way it was written.  Thanks to @jaekwon for pointing this out.
 
 2011.06.22
     Changed some methods to properties.  Hello 2011.

+ 1 - 1
src/FMDatabase.h

@@ -61,7 +61,7 @@
 
 - (sqlite3*)sqliteHandle;
 
-- (BOOL)update:(NSString*)sql error:(NSError**)outErr bind:(id)bindArgs, ...;
+- (BOOL)update:(NSString*)sql withErrorAndBindings:(NSError**)outErr, ...;
 - (BOOL)executeUpdate:(NSString*)sql, ...;
 - (BOOL)executeUpdateWithFormat:(NSString *)format, ...;
 - (BOOL)executeUpdate:(NSString*)sql withArgumentsInArray:(NSArray *)arguments;

+ 4 - 2
src/FMDatabase.m

@@ -321,6 +321,8 @@ - (int)changes {
 
 - (void)bindObject:(id)obj toColumn:(int)idx inStatement:(sqlite3_stmt*)pStmt {
     
+    NSLog(@"%d", idx);
+    
     if ((!obj) || ((NSNull *)obj == [NSNull null])) {
         sqlite3_bind_null(pStmt, idx);
     }
@@ -898,9 +900,9 @@ - (BOOL)executeUpdateWithFormat:(NSString*)format, ... {
     return [self executeUpdate:sql withArgumentsInArray:arguments];
 }
 
-- (BOOL)update:(NSString*)sql error:(NSError**)outErr bind:(id)bindArgs, ... {
+- (BOOL)update:(NSString*)sql withErrorAndBindings:(NSError**)outErr, ... {
     va_list args;
-    va_start(args, bindArgs);
+    va_start(args, outErr);
     
     BOOL result = [self executeUpdate:sql error:outErr withArgumentsInArray:nil orDictionary:nil orVAList:args];
     

+ 6 - 1
src/fmdb.m

@@ -45,7 +45,7 @@ int main (int argc, const char * argv[]) {
     }
     
     NSError *err = 0x00;
-    FMDBQuickCheck(![db update:@"blah blah blah" error:&err bind:nil]);
+    FMDBQuickCheck(![db update:@"blah blah blah" withErrorAndBindings:&err]);
     FMDBQuickCheck(err != nil);
     FMDBQuickCheck([err code] == SQLITE_ERROR);
     NSLog(@"err: '%@'", err);
@@ -497,6 +497,11 @@ int main (int argc, const char * argv[]) {
         FMDBQuickCheck(([rs longLongIntForColumn:@"e"] == 12345678901234));
     }
     
+    {
+        NSError *err;
+        FMDBQuickCheck(([db update:@"insert into t5 values (?, ?, ?, ?, ?)" withErrorAndBindings:&err, @"text", [NSNumber numberWithInt:42], @"BLOB", @"d", [NSNumber numberWithInt:0]]));
+        
+    }