2010-04-23 66 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"];