Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios obj-c中动态ALTER sqlite3_bind_text语句的语法错误_Ios_Objective C_Sqlite - Fatal编程技术网

Ios obj-c中动态ALTER sqlite3_bind_text语句的语法错误

Ios obj-c中动态ALTER sqlite3_bind_text语句的语法错误,ios,objective-c,sqlite,Ios,Objective C,Sqlite,此代码在“?”附近抛出错误[logging]:“ALTER TABLE jobs ADD COLUMN?text”中的语法错误 我看不出它在说什么?不能与ALTER一起使用 想法不能将参数用于表名或列名不能将参数用于表名或列名 NSArray *uArray = [NSArray arrayWithObjects:@"string1", @"string2", @"etc", nil]; const char *query = "ALTER TABLE jobs ADD COL

此代码在“?”附近抛出错误
[logging]:“ALTER TABLE jobs ADD COLUMN?text”中的语法错误

我看不出它在说什么?不能与ALTER一起使用


想法

不能将参数用于表名或列名

不能将参数用于表名或列名
    NSArray *uArray = [NSArray arrayWithObjects:@"string1", @"string2", @"etc", nil];

    const char *query = "ALTER TABLE jobs ADD COLUMN ? TEXT NOT NULL";
    sqlite3_stmt *compiledStatement = nil;

    sqlite3_exec((sqlite3 *)(db), "BEGIN EXCLUSIVE TRANSACTION", 0, 0, 0);
    if(sqlite3_prepare((sqlite3 *)(db), query, -1, &compiledStatement, NULL) == SQLITE_OK)
    {
      for (NSString *obj in uArray)
      {
          sqlite3_bind_text(compiledStatement, 1, [obj UTF8String], -1, SQLITE_STATIC);
          if (sqlite3_step(compiledStatement) != SQLITE_DONE) NSLog(@"DB not updated. Error: %s",sqlite3_errmsg((sqlite3 *)(db)));
          if (sqlite3_reset(compiledStatement) != SQLITE_OK) NSLog(@"SQL Error: %s",sqlite3_errmsg((sqlite3 *)(db)));
      }
    }