- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试检查 sqlite 数据库的 user_version。我有一个管理工具来升级版本,但我不明白 pragma 语句的语法。我期待测试 if 语句中的值。有人可以提供代码示例吗?当我在我的 Objective-C 代码中嵌入 pragma 语句时,编译器抛出错误。
最佳答案
我在 newtover 的启发下弄明白了,深入研究 FMDB 并重新阅读了 sqlite3 文档(我认为它仍然很模糊)。当我对需要迁移的模式进行显着更改时,此代码返回我在管理工具中遇到的值。
-(int)queryUserVersion: (sqlite3*) db {
// get current database version of schema
static sqlite3_stmt *stmt_version;
int databaseVersion;
if(sqlite3_prepare_v2(db, "PRAGMA user_version;", -1, &stmt_version, NULL) == SQLITE_OK) {
while(sqlite3_step(stmt_version) == SQLITE_ROW) {
databaseVersion = sqlite3_column_int(stmt_version, 0);
NSLog(@"%s: version %d", __FUNCTION__, databaseVersion);
}
NSLog(@"%s: the databaseVersion is: %d", __FUNCTION__, databaseVersion);
} else {
NSLog(@"%s: ERROR Preparing: , %s", __FUNCTION__, sqlite3_errmsg(db) );
}
sqlite3_finalize(stmt_version);
return databaseVersion;
}
对于模式版本,我有一个类似的方法,其中 sql 语句更改为 "PRAGMA schema_version;"
关于iphone - 如何在 Objective-c 中使用 sqlite3 PRAGMA user_version?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2659797/
我在我的 ios 应用程序中使用 sqlite Db。我想获取 sqlite 数据库的 user_version。我使用以下代码设置 user_version。但是我无法将值设置为数据库 user_v
我正在尝试使用 SQLite 数据库的 user_version 功能。我无法实际设置 user_version,我不确定为什么。我尝试了各种执行查询以更新 user_version 的方法,并在网上
我在这里看到了关于读取 user_version 的其他问题,这对我来说似乎工作正常。但是我试图在 FMDB 中使用 sqlite 来设置我的版本号,但它没有设置。 _db = [self openD
我有这个代码: -(int)queryUserVersion: (sqlite3*) db { // get current database version of schema st
我想做的是从我的 SQLite 数据库加载并设置 user_version (PRAGMA user_version)。我正在使用 Entity Framework ,但如果我不能通过它来完成,那么我
这是我使用 SQLite 的第一个项目,在尝试进行半自动模式迁移时,我想使用 stackoverflow 上许多其他答案所建议的 user_version pragma。 我正尝试在 Golang 中
我正在尝试检查 sqlite 数据库的 user_version。我有一个管理工具来升级版本,但我不明白 pragma 语句的语法。我期待测试 if 语句中的值。有人可以提供代码示例吗?当我在我的 O
我是一名优秀的程序员,十分优秀!