gpt4 book ai didi

ios - 如果 sqlite3_prepare_v2() 返回一个错误代码,我该如何获取错误代码?

转载 作者:IT王子 更新时间:2023-10-29 06:24:18 25 4
gpt4 key购买 nike

主要关注 Ray Wenderlich's SQLite tutorial ,我正在编写一个相当简单的应用程序来显示从服务器上拉下来的信息。我的 SQLite 查询(到本地数据库,而不是服务器)的基本结构如下:

{
NSMutableArray *list = [[NSMutableArray alloc] init];
NSString *query = @"SELECT _id, type FROM table ORDER BY type"; // As appropriate.
sqlite3_stmt *statement;

if (sqlite3_prepare_v2(_db, [query UTF8String], -1, &statement, nil) == SQLITE_OK) {
while (sqlite3_step(statement) == SQLITE_ROW) {
// Process the returned values...
int rowNumber = sqlite3_column_int(statement, 0);

// Initialize the object.
// Push the object onto the array.
}
sqlite3_finalize(statement);
} else {
// Log the error.
}
return list;
}

我的问题是,如果 if 语句返回 false,检查错误的最佳方法是什么? 对我来说最简单的解决方案似乎是存储 的返回值code>sqlite3_prepare_v2() 作为 int 并根据 SQLITE_OK 检查that。如何调用 sqlite_errmsg()

我确实研究了 sqlite_exec() 但我没有任何运气来尝试编译,而且我对我对 C 中回调的理解不足以正确维护代码使用它们。不过,它为错误传递了一个参数,这正是我首先研究它的原因。

最佳答案

如果你想得到一条错误信息,你必须确实调用sqlite3_errmsg

sqlite3_exec 会给你相同的字符串。

关于ios - 如果 sqlite3_prepare_v2() 返回一个错误代码,我该如何获取错误代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14879279/

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