2010-04-23 46 views
1

嘿,我正在使用http://th30z.netsons.org/2008/11/objective-c-sqlite-wrapper/ 包装。使用Objective-C Wrapper更新查询sqlite

我的代码是这样的:

- (IBAction)UpdateButtonPressed:(id)sender 
    { 


     Sqlite *sqlite = [[Sqlite alloc] init]; 
     NSString *writableDBPath = [[NSBundle mainBundle]pathForResource:@"Money"ofType:@"sqlite"]; 
     if (![sqlite open:writableDBPath]) 
      return; 


     NSArray *query = [sqlite executeQuery:@"UPDATE UserAccess SET Answer ='Positano';"]; 
      NSDictionary *dict = [query objectAtIndex:2]; 
      NSString *itemValue = [dict objectForKey:@"Answer"]; 
      NSLog(@"%@",itemValue); 
} 

答案是列名,UserAccess表名。 该列在表中位于第3位

我在做什么错误为什么它崩溃?

+0

我应该能够从UITextfiled更新它,即updatefield.text >>如果用户键入positano然后更新到数据库。谢谢 – 2010-04-23 10:52:22

回答

0

更新查询不返回任何结果。执行SELECT查询后,通常会使用objectAtIndex,但它不适用于UPDATE。

+0

[sqlite executeQuery:@“UPDATE UserAccess SET Answer ='Positano';”];你可以使用这个选项来设置你的选择。 \t NSDictionary * dict = [query2 objectAtIndex:0]; \t NSString * itemValue = [dict objectForKey:@“Answer”]; \t NSLog(@“%@”,itemValue); 这对我工作,谢谢...我需要再次通过SQL是多么愚蠢。 你知道我怎么接受它从UITextField >> updatefield.text – 2010-04-23 11:06:46

1
@"UPDATE UserAccess SET Answer ='Positano';"]; 
NSArray *query2 = [sqlite executeQuery:@"SELECT Answer FROM UserAccess;"]; 
NSDictionary *dict = [query2 objectAtIndex:0]; 
NSString *itemValue = [dict objectForKey:@"Answer"];