Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - (BOOL) executeUpdate:(NSString*)sql, ... {
- [db executeUpdate:@"insert into test (a, b, c, d, e) values (?, ?, ?, ?, ?)" ,
- @"hi'", // look! I put in a ', and I'm not escaping it!
- [NSString stringWithFormat:@"number %d", i],
- [NSNumber numberWithInt:i],
- [NSDate date],
- [NSNumber numberWithFloat:2.2f]];
- NSMutableArray *values = [NSMutableArray array];
- for (NSString *fieldName in props) {
- ..
- ..
- [values addObject : value]
- }
- [db executeUpdate:@"insert into test (a, b, c, d, e) values (?, ?, ?, ?, ?)" ,??values];
- NSArray* VarArgs(va_list ap)
- {
- id obj;
- NSMutableArray* array = [NSMutableArray array];
- while ((obj = va_arg(ap, id))) {
- [array addObject:obj];
- }
- return array;
- }
- #define VarArgs2(_last_) ({
- va_list ap;
- va_start(ap, _last_);
- NSArray* __args = VarArgs(ap);
- va_end(ap);
- if (([__args count] == 1) && ([[__args objectAtIndex:0] isKindOfClass:[NSArray class]])) {
- __args = [__args objectAtIndex:0];
- }
- __args; })
- // '...' must be objc objects with nil sentinel OR an NSArray with nil sentinel
- - (void)someMethod:(NSString *)sql, ...
- {
- NSArray *args = VarArgs2(sql);
- // Do stuff with args
- }
- - (void)someMethod:(NSString *)sql, ... NS_REQUIRES_NIL_TERMINATION;
- [db executeUpdate:@"insert into test (a, b) values (?, ?)", [values objectAtIndex:0], [values objectAtIndex:1]]
- if ([values count] == 1) {
- [db executeUpdate:query, [values objectAtIndex:0]];
- }
- else if ([values count] == 2) {
- [db executeUpdate:query, [values objectAtIndex:0], [values objectAtIndex:1]];
- }
- executeUpdateWrapper(@"insert into test (a, b) values (?, ?)", values);
- char *argList = (char *)malloc(sizeof(NSString *) * [arguments count]);
- [arguments getObjects:(id *)argList];
- contents = [[NSString alloc] initWithFormat:formatString arguments:argList];
- free(argList);
- - (BOOL) executeUpdate:(NSString*)sql withArgumentsInArray:(NSArray *)arguments;
- #define splitAlternatingArray(args,arg1,arg2)
- NSMutableArray *arg1 = [NSMutableArray array];
- NSMutableArray *arg2 = [NSMutableArray array];
- {
- BOOL isFirst = YES;
- for (id arg in args) {
- if (isFirst) {
- [arg1 addObject:arg];
- } else {
- [arg2 addObject:arg];
- }
- isFirst = !isFirst;
- }
- }
- - (id)initWithObjectsAndKeys:(id)firstObject, ...{
- NSArray *objKeyArray = VarArgs2(firstObject);
- splitAlternatingArray(objKeyArray,objs,keys);
- return [self initWithObjects:objs forKeys:keys];
- }
Add Comment
Please, Sign In to add comment