iphone - 使用 Objective C 编写 SQLite 脚本

标签 iphone ios database ipad sqlite

我有两个 .sqlite 文件。一种用于完整版,一种用于精简版。 我使用以下代码为一种条件选择一个 .sqlite 文件:

if (FULLVERSION) {
self.databaseName = @"Alpha.sqlite";
}
else {
self.databaseName = @"AlphaLite.sqlite";
}

现在,当我查询时,我想在其中使用 self.databaseName 。我现在这样做:

-(NSMutableArray *) Alpha {
    sqlite3 *database;
    if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
        const char *sqlStatement = "SELECT * FROM Alpha";
        sqlite3_stmt *compiledStatement;
        if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) {

    }
        sqlite3_finalize(compiledStatement);
    }
    sqlite3_close(database);

    return alpha;   
}

在“SELECT * FROM Alpha”行中,我想使用 self.databaseName 代替 Alpha,它将根据条件获得数据库名称。

如何做到这一点? 请帮忙。谢谢。

最佳答案

SELECT 语句中,将 const char *sqlStatement = "SELECT * FROM Alpha"; 替换为以下两行:

NSString *sqlString = [NSString stringWithFormat:@"SELECT * FROM %@", self.databaseName];
const char *sqlStatement = [sqlString UTF8String];

const char *sqlStatement = "SELECT * FROM Alpha"; 替换为

const char *sqlStatement;
if (FULLVERSION) {
    sqlStatement = "SELECT * FROM Alpha";
} else {
    sqlStatement = "SELECT * FROM AlphaLite";
}

关于iphone - 使用 Objective C 编写 SQLite 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15701020/

相关文章:

iphone - 将 OpenUrl 与 tel ://2373829239 一起使用时如何避免默认警报

iphone - PhoneGap iPad 启动屏幕不适合

iphone - UISearchDisplayController 是在模态视图中加载时 TableView 分隔线故障,我该如何解决?

iphone - strncpy 对 iPhone 开发安全吗?

ios - Xcode 11 重新编译太多

ios - 如何从 NSMutableArray 中删除 nil 对象?

ios - 在 Swift 中按下回车键时退出键盘

MySql 查询按月或年获取数据

php - SQLSTATE[HY000] : General error: 1364 Field 'uID' doesn't have a default value

ruby-on-rails - 有谁知道 "expected SCALAR, SEQUENCE-START, MAPPING-START, or ALIAS"是什么意思?