我在模擬器上運行的iOS版本的程序,我得到這個錯誤名單表只顯示sqlite_sequence
「ISDatabaseSQLiteException」,理由是:「無法執行語句:」創建表GroceryItem(PrimaryKey的整數主鍵自動遞增,名稱文本NOT NULL,數整數NOT NULL)」與mesage:表GroceryItem已經存在
這是我使用的代碼,在我AppDelegate.m
self.database = [[[ISDatabase alloc] initWithFileName:@"db20121207.sqlite"] autorelease];
if(![[database tableNames] containsObject:@"GroceryItem"])
{
[database executeSql:@"create table GroceryItem(primaryKey integer primary key autoincrement, name text NOT NULL, number integer NOT NULL)"];
[database executeSql:@"insert into GroceryItem (name, number) values('apple', 5)"];
[database executeSql:@"insert into GroceryItem (name, number) values('zuoyou', 3)"];
}
else
{
[database executeSql:@"insert into GroceryItem (name, number) values('apple', 5)"];
[database executeSql:@"insert into GroceryItem (name, number) values('zuoyou', 3)"];
}
我有這樣的方法sqlite_master
- (NSArray *) tables
{
return [self executeSql:@"select * from sqlite_master where type = 'table'"];
}
- (NSArray *) tableNames
{
NSLog(@"%@", [[self tables] valueForKey:@"name"] );
NSLog(@"%u", [[[self tables] valueForKey:@"name"] count] );
return [[self tables] valueForKey:@"name"];
}
列出表名,但控制檯顯示
GroceryList [7439:C07( 「sqlite_sequence」 )
2012年12月10日16 :59:40.305 GroceryList [7439:c07] 1
只得到表sqlite_sequence
,計數爲1;從上面的例外情況來看,它說「表GroceryItem已經存在」