Iphone 目标C中的Sqlite错误

Iphone 目标C中的Sqlite错误,iphone,objective-c,sqlite,Iphone,Objective C,Sqlite,我正试图在我的iPhone应用程序上删除sqlite数据库中的一些条目,但遇到了一个奇怪的错误 这是我的密码: if(sqlite3_open([databasePath UTF8String], &yerocDB)==SQLITE_OK) { sqlite3_stmt *compiledstatement; NSString *deleteSql=[NSString stringWithFormat: @"delete from Favorites_Table

我正试图在我的iPhone应用程序上删除sqlite数据库中的一些条目,但遇到了一个奇怪的错误

这是我的密码:

if(sqlite3_open([databasePath UTF8String], &yerocDB)==SQLITE_OK)
{   
    sqlite3_stmt *compiledstatement;

    NSString *deleteSql=[NSString stringWithFormat: @"delete from Favorites_Table where playlist_name = Studying and date = 1/1/2012"];
    const char *sqlstmt = [deleteSql UTF8String];

    if(sqlite3_prepare_v2(yerocDB, sqlstmt, -1, &compiledstatement, NULL)==SQLITE_OK)
    {
        int result = sqlite3_step(compiledstatement);

        if(SQLITE_DONE != result)

            NSAssert1(0,@"Error while creating delete statement => %s",sqlite3_errmsg(yerocDB) );
    }else{
        NSLog(@"didn't delete error: %s", sqlite3_errmsg(yerocDB));
    }
    sqlite3_finalize(compiledstatement);
}
但是我得到了一个错误:

didn't delete error: no such column: Studying

playlist\u name和date是我的栏目……为什么说“studing”不是栏目?

你需要将
studing
用单引号括起来。还有你的约会

这:

应该是这样的:

delete from Favorites_Table 
where playlist_name = 'Studying' and date = '2012-01-01'
原因是如果不将它放在单引号中,解析器会认为它是一个列名。在第一次查询中,您试图从
收藏夹\u表
中删除,其中
播放列表\u名称
列等于
学习
列。从此你的错误,“没有这样的专栏。”


一旦你修正了关于学习的引语,你的约会对象也会犯错误。日期使用ISO格式(yyyy-mm-dd)进行比较。根据经验,不要使用本地化的mm/dd/yyyy或dd/mm/yyyy格式。

您需要用单引号括起
。还有你的约会

这:

应该是这样的:

delete from Favorites_Table 
where playlist_name = 'Studying' and date = '2012-01-01'
原因是如果不将它放在单引号中,解析器会认为它是一个列名。在第一次查询中,您试图从
收藏夹\u表
中删除,其中
播放列表\u名称
列等于
学习
列。从此你的错误,“没有这样的专栏。”

一旦你修正了关于学习的引语,你的约会对象也会犯错误。日期使用ISO格式(yyyy-mm-dd)进行比较。根据经验,不要使用本地化的mm/dd/yyyy或dd/mm/yyyy格式