【问题标题】:I have a sqlite syntax error. What is incorrect?我有一个 sqlite 语法错误。什么是不正确的?
【发布时间】:2012-05-20 11:01:43
【问题描述】:

我有一个 sqlite 语法错误。哪里不对?

我的代码:

+ (void)insertUpdateCatalogTime:(NSString *)time
{
 NSLog(@"%@", time);
 sqlite3 *database; 
 if(sqlite3_open([DatabaseManager databasePath], &database) == SQLITE_OK) 
 {
    const char *sqlStatement = [[NSString stringWithFormat:@"UPDATE t_catalog SET updateTime=%@", time] cStringUsingEncoding:NSASCIIStringEncoding];
    sqlite3_stmt *compiledStatement;
    if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) 
    {
        while(sqlite3_step(compiledStatement) == SQLITE_ROW);
    } 
    else 
    {
        NSLog(@"sqlite3_prepare_v2 error %s", sqlite3_errmsg(database));
    }       
    sqlite3_finalize(compiledStatement);
 } 
 else 
 { 
    NSLog(@"sqlite3_open error");
 }  
 sqlite3_close(database);
}

并记录:

 2012-05-10 14:23:04
 sqlite3_prepare_v2 error near "14": syntax error

【问题讨论】:

    标签: sql ios sqlite


    【解决方案1】:

    您是否尝试将 updateTime 用单引号括起来?

    const char *sqlStatement = [[NSString stringWithFormat:@"UPDATE t_catalog SET updateTime='%@'", time] cStringUsingEncoding:NSASCIIStringEncoding];
    

    【讨论】:

      猜你喜欢
      • 2014-06-03
      • 2014-12-13
      • 1970-01-01
      • 1970-01-01
      • 2018-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多