【问题标题】:How to write the array into the sqlite database for Objective-C?如何将数组写入 Objective-C 的 sqlite 数据库?
【发布时间】:2011-01-27 02:40:51
【问题描述】:

我已将数据库中的数据放入数组中,现在我希望它使用插入查询将其发送回数据库。

如何将数据数组插入数据库?

【问题讨论】:

    标签: iphone objective-c sqlite


    【解决方案1】:

    遍历数组的内容并构建INSERT 查询。

    【讨论】:

      【解决方案2】:

      插入数据库几乎与从数据库中读取相反。你没有说你的数组的结构是什么,但这里有一些你应该能够适应你的需要的骨架代码:

      // Assuming you have the sqlite database opened already
      // sqlite3 *sqldb = ...;
      
      // Also assuming you have an array of MyItems holding your data
      // NSMutableArray *items = ...;
      
      sqlite3_stmt *insert_statement;
      
      // Prepare the insert statement
      const char*sql = "INSERT INTO mytable (field1, field2, field3) VALUES(?,?,?)";
      sqlite3_prepare_v2(sqldb, sql, -1, &insert_statement, NULL);
      
      // Iterate over an array of dictionaries
      for (MyItem *item in items) {
      
          // Bind variables - assumed to all be integers
          sqlite3_bind_int(insert_statement, 1, item.field1);
          sqlite3_bind_int(insert_statement, 2, item.field2);
          sqlite3_bind_int(insert_statement, 3, item.field3);
      
          // Execute the insert
          if (sqlite3_step(insert_statement) != SQLITE_DONE) {
              NSLog(@"Insert failed: %s", sqlite3_errmsg(sqldb));
          }
      
          // Reset the statement
          sqlite3_reset(insert_statement);
      }
      
      // release the statement
      sqlite3_finalize(insert_statement);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-02
        • 2014-02-23
        • 1970-01-01
        • 2012-04-15
        • 2018-05-16
        • 2012-06-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多