如何通过objective-C在sqlite3中运行sql脚本文件

Sun*_* Ho 4 sqlite objective-c

这是我的问题,当通过终端与Sqlite 3交互时,您可以通过执行以下命令来执行存储在txt文件中的SQL语句:

 .read filename
Run Code Online (Sandbox Code Playgroud)

有没有办法通过Objective-C代码做这样的事情?即我在代码中连接了一个sqlite3 db文件,我想以编程方式运行脚本文件.

Alp*_*ine 5

我知道这是一个非常古老的问题.我只是以为我会留下我用过的代码以防其他人发现它有用

-(BOOL)execFile:(NSString*)filepath
{
    NSError* error;
    NSString* content = [NSString stringWithContentsOfFile:filepath encoding:NSUTF8StringEncoding error:&error];
    if(error)
    {
        return NO;
    }
    char* execError;
    int x = sqlite3_exec(_database, [content UTF8String], nil, nil, &execError);
    if(execError)
    {
        NSLog(@"%s", execError);
    }
    return x == SQLITE_OK;
}
Run Code Online (Sandbox Code Playgroud)


sch*_*tbi 2

您可以将文件的内容逐行或整个转发到函数exec