gpt4 book ai didi

ios - 在 SQLite3 中插入​​多行

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:18:18 25 4
gpt4 key购买 nike

我如何以编程方式将多行插入到 iOS 的 sqlite3 表中?这是我当前方法的代码片段:

sqlite3 *database;

if(sqlite3_open([filePath UTF8String], &database) == SQLITE_OK) {
const char *sqlStatement = "insert into TestTable (id, colorId) VALUES (?, ?)";
sqlite3_stmt *compiledStatement;

if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK)
{
for (int i = 0; i < colorsArray.count; i++) {
sqlite3_bind_int(compiledStatement, 1, elementId);
long element = [[colorsArray objectAtIndex:i] longValue];
sqlite3_bind_int64(compiledStatement, 2, element);
}
}

if(sqlite3_step(compiledStatement) == SQLITE_DONE) {
sqlite3_finalize(compiledStatement);
}
else {
NSLog(@"%d",sqlite3_step(compiledStatement));
}
}
sqlite3_close(database);

这样我只插入了第一行,我怎么能告诉sqlite我希望每个'for'循环都是一个行插入?我找不到这方面的任何例子......

谢谢!

最佳答案

你必须运行这条语句:

sqlite3_step(compiledStatement) == SQLITE_DONE

每次插入后,在您的代码中,我看到您只在最后运行一次。

关于ios - 在 SQLite3 中插入​​多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13219726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com